/* Gear S.A. — hoja de estilos propia.
   Cortes del original (Elementor): tableta hasta 1024 px, teléfono hasta 767 px.
   Tipografía: DaxlinePro (archivos propios del sitio), Rubik y Montserrat (copias locales de Google
   Fonts). El original declara DaxlinePro 400 con una dirección rota: ese peso sale en la sin serifa
   del sistema, y la copia la pide igual (ver README, «Tipografía»). */

@font-face { font-family: "DaxlinePro"; font-style: normal; font-weight: 300; font-display: auto; src: url("../fonts/daxlinepro-300-light.woff") format("woff"); }
@font-face { font-family: "DaxlinePro"; font-style: normal; font-weight: 500; font-display: auto; src: url("../fonts/daxlinepro-500-medium.woff") format("woff"); }
@font-face { font-family: "DaxlinePro"; font-style: normal; font-weight: 600; font-display: auto; src: url("../fonts/daxlinepro-600-bold.woff") format("woff"); }
@font-face { font-family: "DaxlinePro"; font-style: normal; font-weight: 700; font-display: auto; src: url("../fonts/daxlinepro-700-extrabold.woff") format("woff"); }
@font-face { font-family: "DaxlinePro"; font-style: normal; font-weight: 800; font-display: auto; src: url("../fonts/daxlinepro-800-black.woff") format("woff"); }
@font-face {
  font-family: "Rubik"; font-style: normal; font-weight: 300 900; font-display: auto;
  src: url("../fonts/rubik-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Rubik"; font-style: normal; font-weight: 300 900; font-display: auto;
  src: url("../fonts/rubik-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Montserrat"; font-style: normal; font-weight: 100 900; font-display: auto;
  src: url("../fonts/montserrat-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Montserrat"; font-style: normal; font-weight: 100 900; font-display: auto;
  src: url("../fonts/montserrat-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --verde: #0d924a;
  --verde-medio: #68b745;
  --verde-claro: #99ca3b;
  --naranja: #f08121;
  --naranja-menu: #faa21b;
  --texto: #4d4e52;
  --gris: #77787b;
  --gris-claro: #b4b4b6;
  --arena: #e8e3d1;
  --blanco: #fff;
  --f-titulos: "DaxlinePro", sans-serif;
  --f-texto: "Rubik", sans-serif;
}

/* ---------- Base ---------- */
*, ::before, ::after { box-sizing: border-box; }
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--blanco);
  color: var(--texto);
  font-family: var(--f-texto);
  font-size: 17px;
  font-weight: 300;
  line-height: 1.4em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}
h1, h2, h3, h4, h5, p, ul { margin: 0; }
ul { padding: 0; list-style: none; }
img { max-width: 100%; height: auto; border: 0; vertical-align: middle; }
a { color: inherit; text-decoration: none; background-color: transparent; }
strong { font-weight: 500; }
button { font: inherit; color: inherit; }
svg { fill: currentColor; overflow: visible; }
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.oculto {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
.saltar {
  position: absolute; top: -9999px; left: 5px; z-index: 100000;
  padding: 12px 24px; background: #eee; color: #333; font-size: 1rem; line-height: normal;
}
.saltar:focus { top: 5px; }
a:focus-visible, button:focus-visible { outline: 2px solid #000; outline-offset: 2px; box-shadow: 0 0 0 4px #fff; }
.icono { display: block; width: 1em; height: 1em; }

/* Botón de Elementor (kit): verde, letra DaxlinePro 600 de 15 px en mayúsculas. */
.boton {
  display: inline-block;
  padding: 18px 30px;
  background: var(--verde-medio);
  color: var(--blanco);
  font: 600 15px/1.1em var(--f-titulos);
  text-align: center;
  text-transform: uppercase;
  transition: all .3s;
}
.boton:hover, .boton:focus { background: var(--verde-claro); color: var(--blanco); }
button.boton { border: 0; cursor: pointer; }
.boton--borde { background: transparent; border: 1px solid var(--blanco); }
.boton--borde:hover, .boton--borde:focus { background: var(--naranja); border-color: var(--naranja); }

/* Títulos de sección («Productos y Servicios», «Energía limpia en acción», «Novedades»). */
.titulo-seccion {
  margin-bottom: 48px;
  color: var(--verde);
  font: 800 52px/1.1em var(--f-titulos);
  text-align: center;
  text-transform: uppercase;
}
/* Anclas del menú (#productos-y-servicios, #sobre-nosotros, #novedades): el espacio que el original
   deja debajo de cada una va como relleno, para que no se funda con el margen de la sección. */
.ancla { height: 0; padding-bottom: 18px; box-sizing: content-box; }

/* ---------- Encabezado ---------- */
.encabezado { position: relative; z-index: 20; margin-bottom: 50px; background: var(--blanco); }
.encabezado__barra {
  display: grid;
  grid-template-columns: 25% 49.664% 25%;
  align-items: center;
  max-width: 1140px;
  margin: 0 auto;
  padding: 20px 0 35px;
}
.encabezado__logo { display: block; width: 300px; max-width: calc(100% - 20px); margin: 10px auto; }
.encabezado__logo img { display: block; width: 82%; margin: 0 auto; }

/* Clima de Rojas (OpenWeatherMap, desde el navegador, como el original). */
.clima {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 250px;
  border-radius: 8px;
  background: var(--blanco);
  font-family: Arial, sans-serif;
  line-height: 1;
  text-align: center;
}
.clima__temperatura { color: var(--verde-claro); font: 800 36px/1 var(--f-titulos); }
.clima__icono {
  width: 50px; height: 50px; margin-left: 10px;
  vertical-align: middle;
  opacity: 0;
  transition: opacity .3s ease-in-out;
}
.clima__icono.cargado { opacity: 1; }
.clima__ciudad { margin-top: 5px; color: var(--gris-claro); font: 800 18px/1 var(--f-titulos); }
.clima__error { margin-block-end: 15px; }

.extranet {
  display: inline-flex;
  align-items: center;
  justify-self: end;
  gap: 10px;
  margin-bottom: 1px;  /* el renglón del botón en el original mide 24 px: el enlace queda 0,5 px más arriba */
  color: var(--naranja);
  font: 800 20px/23px var(--f-titulos);
  text-transform: uppercase;
  transition: all .3s;
}
.extranet .icono { font-size: 20px; }
.menu__abrir { display: none; }

/* Menú de escritorio: franja verde con divisores blancos entre los ítems. */
.menu {
  max-width: 1140px;
  margin: 0 auto;
  padding: 8px;
  background: var(--verde-claro);
}
/* Como en el original, la lista se centra y, si no entra (1025 a 1075 px), Contacto baja a una segunda línea. */
.menu__lista { display: flex; flex-wrap: wrap; justify-content: center; width: max-content; max-width: 100%; margin: 0 auto; }
.menu__lista > li { position: relative; display: flex; }
.menu__lista > li:not(:nth-last-child(-n+2))::after {
  content: "";
  align-self: center;
  height: 42px;
  border-left: 1px solid var(--blanco);
}
.menu__lista > li > a {
  display: flex;
  align-items: center;
  margin: 0 38px;
  padding: 13px 20px;
  color: var(--blanco);
  font: 700 17px/20px var(--f-texto);
  white-space: nowrap;
}
.menu__lista > li:first-child > a { margin-left: 0; }
.menu__lista > li:nth-last-child(2) > a { margin-right: 0; }
.menu__lista > .menu__extranet { display: none; }
.menu__flecha { display: flex; align-items: center; margin: -10px 0; padding: 10px 0 10px 10px; }
.menu__flecha .icono { width: .625em; height: 1em; font-size: 17px; }
.submenu {
  position: absolute;
  top: 100%;
  left: 38px;
  z-index: 3;
  display: none;
  min-width: 130px;
  background: var(--verde-claro);
}
.menu__lista > li:first-child > .submenu { left: 0; }
.con-submenu.abierto > .submenu { display: block; }
.con-submenu.se-cierra > .submenu { display: block; animation: desvanecer .2s linear forwards; }
@keyframes desvanecer { to { opacity: 0; } }
.submenu a {
  display: block;
  padding: 13px 20px;
  border-left: 8px solid transparent;
  color: var(--blanco);
  font: 300 13px/20px var(--f-texto);
  white-space: nowrap;
}
.submenu a:hover, .submenu a:focus, .submenu a[aria-current="page"] { background: var(--naranja-menu); }
/* Como en Elementor, el fondo y el color de los ítems cambian con un fundido de 0,4 s. */
.menu__lista a { transition: background-color .4s, color .4s; }

/* ---------- Portada: video con frases ---------- */
.portada { position: relative; height: 665px; overflow: hidden; }
.portada__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.frases { position: relative; height: 100%; }
.frases__ventana { height: 100%; overflow: hidden; }
.frases__pista { display: flex; height: 100%; transition-property: transform; transition-timing-function: ease; }
.frases__frase {
  display: flex;
  flex: 0 0 100%;
  align-items: center;
  justify-content: center;
  padding: 60px 0 80px;
}
.frases__frase p {
  max-width: 70%;
  color: var(--blanco);
  font: 900 70px/1.1em var(--f-titulos);
  text-align: center;
  text-transform: uppercase;
}
.frases__flecha {
  position: absolute;
  top: 50%;
  z-index: 1;
  display: inline-flex;
  padding: 0;
  border: 0;
  background: none;
  color: var(--arena);
  font-size: 100px;
  cursor: pointer;
  transform: translateY(-50%);
}
.frases__flecha--anterior { left: 10px; }
.frases__flecha--siguiente { right: 10px; }

.cinta { position: relative; z-index: 10; display: block; width: 100%; height: 97px; object-fit: cover; }

/* Onda de arriba de las secciones (divisor «waves» de Elementor): tres veces el ancho de la sección,
   centrada; lo que sobra a los costados queda fuera de la ventana. */
.onda {
  position: absolute;
  top: -1px;
  left: 50%;
  width: calc(300% + 1.3px);
  height: 75px;
  fill: var(--blanco);
  transform: translateX(-50%);
}
.onda--gris { fill: #f1f1f1; }
.onda--crema { fill: #faffee; }
.onda--espejada { transform: translateX(-50%) rotateY(180deg); }

/* ---------- Productos y servicios ---------- */
.servicios {
  margin-top: 60px;
  padding: 40px max(15px, calc((100% - 1140px) / 2)) 130px;
  background: var(--blanco);
}
.servicios__fila { display: flex; padding-top: 15px; }
.servicio { display: flex; flex: 1 1 0; flex-direction: column; min-width: 0; }
.servicio:first-child { margin-right: 20px; }
.servicio--medio { margin: 0 10px; }
.servicio:last-child { margin-left: 20px; }
.servicio__foto { display: block; width: 100%; height: 330px; object-fit: cover; }
.servicio__tarjeta {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
  margin: -80px 30px 0;
  padding: 35px 25px 20px;
  border-bottom: 8px solid var(--verde-claro);
  background: var(--arena);
  box-shadow: 0 0 13px -4px rgba(0, 0, 0, .25);
  text-align: center;
}
.servicio--medio .servicio__tarjeta {
  position: relative;
  z-index: 1;
  margin: 0 30px -80px;
  border-top: 8px solid var(--verde-claro);
  border-bottom: 0;
}
.servicio--agroinsumos .servicio__tarjeta { min-height: 313px; }
.servicio--acondicionamiento .servicio__tarjeta { min-height: 354px; }
.servicio--trazabilidad .servicio__tarjeta { min-height: 355px; }
.servicio--logistica .servicio__tarjeta,
.servicio--laboratorio .servicio__tarjeta,
.servicio--agtech .servicio__tarjeta,
.servicio--ecommerce .servicio__tarjeta { min-height: 333px; }
.servicio__titulo { color: var(--verde-medio); font: 800 22px/23px var(--f-titulos); text-transform: uppercase; }
.servicio__texto { margin-bottom: 15px; font: 600 17px/20px var(--f-titulos); text-transform: uppercase; }
.servicio__tarjeta .boton { align-self: center; }
.servicio--cien-anos .servicio__tarjeta {
  justify-content: center;
  gap: 20px;
  min-height: 445px;
  padding: 20px 25px 25px;
}
.cien-anos__lema { color: var(--verde-medio); font: 700 36px/52px var(--f-titulos); text-transform: uppercase; }
.cien-anos__logo { align-self: center; width: 186px; }

/* ---------- Banner del premio ---------- */
.banner { margin-bottom: 110px; background: #000418; }
.banner a { display: block; max-width: 1140px; margin: 0 auto; }
.banner img { display: block; width: 100%; }

/* ---------- La empresa ---------- */
.ancla--empresa { height: 20px; padding: 0; scroll-margin-top: -10px; }
.empresa { padding: 40px max(15px, calc((100% - 1140px) / 2)) 150px; background: var(--blanco); }
.empresa__fotos { display: flex; min-height: 550px; }
.empresa__entrada { flex: 0 0 40%; align-self: flex-start; width: 40%; min-width: 0; }
.empresa__fondo { flex: 0 0 auto; width: calc(60% - 170px); min-height: 50px; margin: 30px 0 0 170px; background: var(--verde-medio); }
.empresa__contenido { display: flex; margin-top: -30%; }
.empresa__tarjeta {
  position: relative;
  z-index: 3;
  display: flex;
  flex: 0 0 calc(55% - 50px);
  flex-direction: column;
  gap: 18px;
  margin-left: 50px;
  padding: 50px 50px 50px 48px;
  border-top: 8px solid var(--verde-claro);
  background: var(--arena);
  box-shadow: 0 0 50px 0 rgba(0, 0, 0, .1);
  text-align: center;
}
.empresa__titulo { color: var(--blanco); font: 800 52px/1.1em var(--f-titulos); text-transform: uppercase; }
.empresa__subtitulo { padding: 0 100px; color: var(--verde-medio); font: 800 36px/1.1em var(--f-titulos); text-transform: uppercase; }
.empresa__texto { margin-bottom: 15px; padding: 10px 60px; color: var(--gris); font: 600 24px/1.4em var(--f-titulos); }
.empresa__tarjeta .boton { align-self: center; }
.empresa__aerea { position: relative; z-index: 2; flex: 0 0 45%; min-width: 0; }
.empresa__aerea img { display: block; margin: calc(50px - 35%) 50px 0 -50px; }

/* ---------- Energía limpia en acción ---------- */
.energia { position: relative; padding: 0 max(0px, calc((100% - 1140px) / 2)); overflow: hidden; background: var(--arena); }

.energia__contenido { position: relative; display: flex; flex-direction: column; gap: 20px; padding: 140px 0 170px; }
.energia .titulo-seccion { margin-bottom: 30px; }
.energia__texto { margin: 5px 0 15px; color: var(--gris); }
.video { position: relative; display: block; cursor: pointer; }
.video img { display: block; width: 100%; aspect-ratio: 1.77777; object-fit: cover; }
.video__reproducir {
  position: absolute;
  top: 50%;
  left: 50%;
  color: var(--blanco);
  font-size: 110px;
  transform: translate(-50%, -50%);
}
.video__reproducir .icono {
  width: 1em;
  opacity: .8;
  filter: drop-shadow(1px 0 6px rgba(0, 0, 0, .3));
  transition: all .5s;
}
.video:hover .video__reproducir .icono { opacity: 1; }

/* ---------- Novedades ---------- */
.novedades {
  position: relative;
  margin-top: -60px;
  padding: 0 max(15px, calc((100% - 1140px) / 2)) 130px;
  background: var(--blanco);
}
.novedades__encabezado { padding: 80px 0 30px; }
.novedades .titulo-seccion { margin-bottom: 30px; }
.novedades__lista { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: 35px 30px; }
.nota {
  padding: 28px 28px 22px;
  border-top: 8px solid var(--verde-claro);
  background: var(--arena);
  text-align: center;
}
.nota__titulo { margin-bottom: 18px; color: var(--verde-medio); font: 900 22px/1.1em var(--f-titulos); text-transform: uppercase; }
/* DaxlinePro 400 no carga en el original (dirección rota): el resumen sale en la sin serifa del sistema. */
.nota__resumen { margin-bottom: 20px; color: var(--gris); font: 400 18px/1.3em sans-serif; }
.nota__mas { color: var(--verde); font: 600 15px/1.1em var(--f-titulos); text-transform: uppercase; }

/* ---------- Cabecera de las páginas interiores: foto oscurecida, título y onda ---------- */
.cabecera__titulo {
  padding: 90px 0 180px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: var(--blanco);
  font: 800 50px/1.1em var(--f-titulos);
  text-align: center;
  text-transform: uppercase;
}
.cabecera--banderas .cabecera__titulo {
  background-image: linear-gradient(rgba(0, 0, 0, .55), rgba(0, 0, 0, .55)), url("../images/cabecera-banderas-1392x928.jpg");
}
/* La onda sube sobre la foto un 10 % del ancho de la ventana. */
.cabecera__divisor { position: relative; z-index: 10; display: block; width: 100%; margin-top: -10%; }

/* ---------- La empresa, misión y visión ---------- */
.identidad { display: flex; max-width: 1140px; margin: 0 auto; }
.identidad__textos { display: flex; flex: 0 0 66.667%; flex-direction: column; min-width: 0; padding: 10px 30px 10px 10px; }
.identidad__titulo { margin-bottom: 30px; color: var(--texto); font: 800 30px/1.1em var(--f-titulos); text-transform: uppercase; }
.identidad__titulo--mision { margin-top: 30px; }
.identidad__vision { margin-bottom: 35px; color: var(--gris); font-size: 17px; line-height: 1.7em; }
.mision li, .valores li { position: relative; display: flex; align-items: center; }
.mision li { color: var(--gris); font-size: 17px; line-height: 1.4em; }
.mision li:not(:last-child) { padding-bottom: 12.5px; }
.mision li:not(:first-child) { margin-top: 12.5px; }
.mision li:not(:last-child)::after, .valores li:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  border-top: 1px solid #ddd;
}
.mision .icono { flex: none; width: 22.5px; height: 18px; margin-right: 5px; color: var(--verde); transition: color .3s; }
.mision li:hover .icono { color: var(--verde-claro); }
.valores {
  display: flex;
  flex: 0 0 33.289%;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 0 20px;
  background-image: linear-gradient(180deg, var(--blanco) 0%, var(--arena) 100%);
}
.valores li { color: var(--naranja); font-size: 21px; line-height: 1.5em; }
.valores li:not(:last-child) { padding-bottom: 36px; }
.valores li:not(:first-child) { margin-top: 36px; }
.valores li:not(:last-child)::after { border-top-style: dotted; }
.valores__hoja { flex: none; width: 60px; height: 60px; margin-right: 20px; color: #d7d1be; }
.nosotros { display: flex; flex-direction: column; margin-bottom: -30px; padding: 40px max(15px, calc((100% - 1140px) / 2)) 0; }
.nosotros__foto { width: 100%; margin: 30px 0 18px; }
.nosotros__texto {
  position: relative;
  z-index: 1;
  margin: -65px 40px 120px;
  padding: 35px 35px 45px;
  border-top: 5px solid var(--verde-medio);
  background: var(--arena);
  color: var(--gris);
  font-size: 17px;
}
.nosotros__texto p { margin-bottom: 15px; }

/* ---------- Productos y Servicios: una sección por rubro ---------- */
/* Esta cabecera va en una sección de 1140 px en el original: el título tiene ese ancho. */
.cabecera--productos .cabecera__titulo, .cabecera--procesamiento .cabecera__titulo, .cabecera--laboratorio .cabecera__titulo,
.cabecera--mercados .cabecera__titulo, .cabecera--cosecha .cabecera__titulo {
  padding-right: max(0px, calc((100% - 1140px) / 2));
  padding-left: max(0px, calc((100% - 1140px) / 2));
}
.cabecera--productos .cabecera__titulo {
  background-image: linear-gradient(rgba(0, 0, 0, .55), rgba(0, 0, 0, .55)), url("../images/cabecera-productos-1920x773.jpg");
}
.rubro { position: relative; display: flex; flex-direction: column; padding: 100px max(15px, calc((100% - 1140px) / 2)) 70px; background: var(--blanco); }
.rubro--gris { background: #f1f1f1; }
.rubro--acondicionamiento { padding-top: 0; background: none; }
.rubro--produccion, .rubro--mercado-interno, .rubro--procesamiento, .rubro--ecommerce { padding-bottom: 120px; }
.rubro__titulo { margin-bottom: 18px; padding-bottom: 30px; color: var(--verde); font: 800 30px/1.1em var(--f-titulos); text-align: center; text-transform: uppercase; }
/* Alto fijo y recorte (las clases «object-fit-mf» del CSS escrito a mano del original). */
.rubro__foto { width: 100%; height: 248px; margin-bottom: 28px; object-fit: cover; }
/* El texto del original va en un <p> con 15 px de margen que el widget compensa con -15 px; en dos
   rubros va suelto, sin <p>, y queda 15 px más corto. */
.rubro__texto { margin: 5px 0 18px; color: var(--gris); }
.rubro__texto--suelto { margin-bottom: 3px; }
.rubro--mercado-interno .rubro__texto { margin-bottom: 0; }
.rubro__fila { display: flex; min-height: 242px; margin-top: 40px; }
.rubro__lateral { flex: 0 0 calc(33.333% - 20px); margin-right: 20px; box-shadow: 0 0 13px -4px rgba(0, 0, 0, .25); }
.rubro__lateral--derecha { margin: 0 0 0 20px; }
.rubro__imagen { display: block; width: 100%; height: 248px; object-fit: cover; }
.rubro--laboratorio .rubro__imagen { height: auto; }
/* Fotos de 360 px de ancho: no se estiran; en un teléfono ancho quedan centradas. */
.rubro--trazabilidad .rubro__imagen, .rubro--produccion .rubro__lateral--derecha .rubro__imagen { width: auto; margin: 0 auto; }
.rubro--logistica .rubro__imagen, .rubro--procesamiento .rubro__imagen { height: 325px; }
.rubro--agtech .rubro__imagen { height: 401px; }
.rubro__boton { align-self: center; margin-top: 50px; }
.rubro--laboratorio .rubro__boton, .rubro--procesamiento .rubro__boton { margin-top: 40px; }
@media (min-width: 1025px) {
  .rubro--logistica .rubro__foto { object-position: center -230px; }
  .rubro--mercado-internacional .rubro__foto { object-position: center -350px; }
  .rubro--agtech .rubro__foto { object-position: center -220px; }
}

/* Tarjetas de contacto (el «icon box» de Elementor con un círculo verde claro). */
.contactos {
  position: relative;
  display: flex;
  flex: 0 0 33.333%;
  flex-direction: column;
  padding: 40px 40px 30px;
  background: var(--arena);
  box-shadow: 0 0 13px -4px rgba(0, 0, 0, .25);
}
.rubro--mercado-interno .contactos { flex-basis: 66.667%; }
.rubro--agtech .contactos { padding: 40px 37px 30px; }
.contactos__titulo { margin-bottom: 20px; color: var(--texto); font: 700 18px/1.3em var(--f-titulos); text-transform: uppercase; }
.contactos--titulo-oscuro .contactos__titulo { color: #030f27; }
.contactos--blanca { background: var(--blanco); }
.contactos__lista { display: flex; flex-direction: column; gap: 20px; }
.rubro--produccion .contactos__lista { margin-top: 20px; }
.contactos__columnas { display: flex; }
.contactos__columnas .contactos__lista { flex: 0 0 50%; }
.contacto { display: flex; align-items: center; gap: 20px; }
.contacto__icono { display: flex; flex: none; padding: 16px; border-radius: 50%; background: var(--verde-claro); color: var(--blanco); font-size: 25px; }
.contacto__datos { flex: 1 1 auto; min-width: 0; }
.contacto__nombre { margin-top: 8px; color: var(--texto); font: 700 18px/1.3em var(--f-titulos); text-transform: uppercase; }
.contacto__correo { color: var(--gris); }
/* Contactos con cargo (Laboratorio, Procesamiento): nombres como están escritos y correo más grande. */
.contactos--detalle .contacto__nombre { text-transform: none; }
.contactos--detalle .contacto__correo { font-size: 17px; font-weight: 400; line-height: 1.5em; }

/* Agroinsumos: tres servicios con hoja, mapa de sucursales y contactos por sucursal. */
.servicios-agro { display: flex; align-items: flex-start; }
.servicios-agro li { display: flex; align-items: center; color: var(--naranja); }
.servicios-agro li:nth-child(1) { flex: 0 0 29.559%; padding-right: 20px; }
.servicios-agro li:nth-child(2) { flex: 0 0 29.58%; padding-left: 20px; }
.servicios-agro li:nth-child(3) { flex: 0 0 40.193%; padding-left: 20px; }
.servicios-agro__hoja { flex: none; width: 18px; height: 18px; margin-right: 17.5px; }
.mapa-sucursales { width: 100%; margin: 40px 0 28px; }
.contactos--agro { flex: none; margin-top: 40px; }
.contactos__sucursales { display: flex; }
.contactos__columna { display: flex; flex: 0 0 33.333%; flex-direction: column; }
.contactos__sucursal { margin: 15px 0 20px; color: var(--verde); font: 800 16px/1.3em var(--f-titulos); text-transform: uppercase; }
.contactos__columna .contactos__lista:not(:last-child) { margin-bottom: 20px; }
/* La hoja va en una línea de texto en el original: debajo queda el descenso de la línea (6,8 px). */
.contactos__hoja { display: block; width: 162px; height: 162px; margin: 20px 0 6.8px 15px; color: #d7d1be; }

/* ---------- Procesamiento de Semillas y Especialidades ---------- */
.cabecera--procesamiento .cabecera__titulo {
  background-image: linear-gradient(rgba(0, 0, 0, .55), rgba(0, 0, 0, .55)), url("../images/procesamiento-silos-1920x1280.jpg");
}
.semillas { display: flex; flex-direction: column; margin: -20px 0; padding: 10px max(10px, calc((100% - 1140px) / 2 + 10px)) 140px; }
.semillas__intro { display: flex; }
.semillas__texto { flex: 0 0 74.999%; padding: 25px 20px 20px; color: var(--gris); }
.semillas__acreditacion {
  display: flex;
  flex: 0 0 24.958%;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: 20px;
  border-left: 1px dotted #ababab;
  color: var(--gris);
  text-align: center;
}
.semillas__acreditacion p { margin-bottom: 10px; }  /* el original le resta 25 px al margen de 15: el logo sube */
.semillas__acreditacion img { align-self: center; }
.semillas__titulo { margin-bottom: 20px; padding-bottom: 10px; color: var(--verde); font: 800 30px/1.1em var(--f-titulos); text-transform: uppercase; }
.semillas__titulo--servicios { padding-top: 40px; }

/* Pestañas (las de Elementor): horizontales en escritorio, verticales en tableta y acordeón en teléfono.
   En escritorio son celdas de tabla, que se reparten el ancho según el texto de cada una. */
.pestanas { margin-bottom: 20px; border: 1px solid #aea892; }
.pestanas__lista { overflow: hidden; }
.pestanas__pestana {
  display: table-cell;
  padding: 20px 25px;
  color: var(--verde);
  font: 500 14px/1.5em var(--f-texto);
  text-transform: uppercase;
  cursor: pointer;
}
.pestanas__pestana[aria-selected="true"] { background: var(--arena); }
.pestanas__pestana:focus-visible { outline: 1px solid #000; outline-offset: -1px; }
.pestanas__paneles { background: var(--arena); }
.pestanas__panel { padding: 20px; color: var(--gris); }
.pestanas__panel p { margin-bottom: 15px; }
.pestanas__desplegar { display: none; }

.cultivos { display: flex; padding-top: 20px; }
.cultivos__grupo { display: flex; flex: 0 0 50%; flex-direction: column; padding: 30px; }
.cultivos__lista li { position: relative; display: flex; align-items: center; color: var(--texto); }
.cultivos__lista li:not(:last-child)::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  border-top: 1px dotted var(--verde-claro);
}
.cultivos__lista li:not(:last-child) { padding-bottom: 8px; }
.cultivos__lista li:not(:first-child) { margin-top: 8px; }
.cultivos__lista--especialidades li:not(:last-child) { padding-bottom: 13px; }
.cultivos__lista--especialidades li:not(:first-child) { margin-top: 13px; }
.cultivos__hoja { flex: none; width: 18px; height: 18px; margin-right: 17.5px; color: var(--naranja); }
/* Las fotos conservan su ancho (706 px): en escritorio se achican a la columna; en tableta quedan centradas. */
.semillas__foto { display: block; height: auto; margin: 0 auto; }

/* ---------- Laboratorio ---------- */
.cabecera--laboratorio .cabecera__titulo {
  background-image: linear-gradient(rgba(0, 0, 0, .55), rgba(0, 0, 0, .55)), url("../images/cabecera-laboratorio-1920x720.jpg");
}
.lab-intro { display: flex; max-width: 1140px; margin: 0 auto; padding-bottom: 40px; }
.lab-intro__texto { flex: 0 0 66.67%; min-width: 0; padding: 15px 30px 10px 10px; color: var(--gris); }
.lab-intro__texto p { margin-bottom: 15px; }
/* Certificados del INASE: como en el original, texto y logo son piezas separadas (seis renglones de una
   caja flexible) que enlazan al mismo certificado; el logo queda fuera del orden de tabulación. Cada
   párrafo tiene -35 px de margen en el original: su caja queda en 0 (el de dos renglones, en 17,4 px) y
   el texto se ve por encima del logo. En tableta el espacio sobrante se reparte entre los renglones. */
.certificados {
  display: flex;
  flex: 0 0 33.33%;
  flex-wrap: wrap;
  align-content: center;
  min-width: 0;
  padding: 10px;
  border-left: 1px dotted #ababab;
}
.certificado { position: relative; z-index: 1; flex: 0 0 100%; height: 0; margin-bottom: 20px; color: var(--texto); text-align: center; }
.certificado--largo { height: 17.4px; line-height: 1.1em; }
.certificado__logo { flex: 0 0 100%; margin-bottom: 20px; }
.certificado__logo:last-child { margin-bottom: 0; }
.certificado__logo img { display: block; width: calc(min(300px, 100%) * .85); margin: 0 auto; }

.lab-titulo { margin-bottom: 20px; padding: 40px 0 10px; color: var(--verde); font: 800 30px/1.1em var(--f-titulos); text-transform: uppercase; }
.lab-titulo--compacto { margin-bottom: 18px; }
.lab-semillas { position: relative; display: flex; padding: 60px max(0px, calc((100% - 1140px) / 2)); background: #faffee; }
.lab-semillas__principal { display: flex; flex: 0 0 66.67%; flex-direction: column; min-width: 0; padding: 10px 30px 10px 10px; }
.lab-semillas__foto {
  flex: 0 0 33.33%;
  min-height: 100px;
  margin-top: 120px;
  background: linear-gradient(90deg, #faffee 0%, rgba(255, 255, 255, .1) 100%), url("../images/laboratorio-semillas-1920x1245.jpg") 0 0 / cover no-repeat;
}

/* Acordeón (el de Elementor): uno abierto por vez; abrir uno cierra el anterior, tocar el abierto lo cierra. */
.acordeon__item { border-bottom: 1px solid #d5d8dc; }
.acordeon__titulo {
  display: block;
  width: 100%;
  padding: 15px 20px;
  border: 0;
  background: none;
  color: var(--texto);
  font: 700 17px/17px var(--f-texto);
  text-align: start;
  cursor: pointer;
}
.acordeon__titulo[aria-expanded="true"] { color: var(--verde-medio); }
.acordeon__icono { float: left; width: 1.5em; }
/* Ancho de cada glifo de Font Awesome (192 y 320 de 512): el triángulo queda pegado a la izquierda. */
.acordeon__icono .icono--cerrado { width: .375em; }
.acordeon__icono .icono--abierto { width: .625em; }
.acordeon__titulo[aria-expanded="true"] .icono--cerrado, .acordeon__titulo[aria-expanded="false"] .icono--abierto { display: none; }
.acordeon__panel { padding: 15px 20px; border-top: 1px solid #d5d8dc; overflow: hidden; color: var(--texto); }
.acordeon__panel p { margin-bottom: 15px; }

.lab-cereales { position: relative; z-index: 0; display: flex; padding: 100px max(15px, calc((100% - 1140px) / 2)) 60px; }
/* Textura de tela al 70 % sobre el blanco, por debajo de la onda y del contenido. */
.lab-cereales::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("../images/textura-tela-420x420.png") right bottom; opacity: .7; }
.lab-cereales__grupo { display: flex; flex: 0 0 50%; flex-direction: column; min-width: 0; padding-right: 15px; }
.lab-cereales__grupo--otras { padding: 0 0 0 15px; }
.lab-cereales__listas { display: flex; }
.lab-cereales__listas .lab-lista { flex: 0 0 40.09%; padding: 10px 30px 10px 10px; }
.lab-cereales__listas .lab-lista + .lab-lista { flex-basis: 59.91%; }
.lab-lista li { display: flex; align-items: center; color: var(--texto); }
.lab-lista li:not(:last-child) { padding-bottom: 4px; }
.lab-lista li:not(:first-child) { margin-top: 4px; }
.lab-lista__hoja { flex: none; width: 18px; height: 18px; margin-right: 17.5px; color: var(--naranja); }

.lab-contacto { position: relative; padding: 80px max(0px, calc((100% - 1140px) / 2)) 130px; background: #faffee; }
/* La fila va por encima de la onda: en teléfono la primera foto empieza arriba de todo y la tapa. */
.lab-contacto__fila { position: relative; }
.lab-contacto .rubro__imagen { height: auto; }

/* ---------- Mercados: cuatro cotizaciones (tablas que llena site.js con los JSON) ---------- */
.cabecera--mercados .cabecera__titulo {
  background-image: linear-gradient(rgba(0, 0, 0, .55), rgba(0, 0, 0, .55)), url("../images/cabecera-mercados-1920x1080.png");
}
.mercados { padding: 20px max(35px, calc((100% - 1100px) / 2)) 100px; }
/* Dos columnas de 47,334 y 47,999 % (en el orden del original) con 3,999 % entre ellas. */
.mercados__fila { display: flex; }
.mercados__fila--granos { padding-bottom: 30px; }
.cotizacion { display: flex; flex: 0 0 47.999%; flex-direction: column; min-width: 0; }
.cotizacion:first-child { margin-right: 3.999%; }
.cotizacion--pizarra, .cotizacion--chicago { flex-basis: 47.334%; }
.cotizacion__titulo { margin-bottom: 20px; color: var(--verde-medio); font: 700 18px/1.3em var(--f-titulos); text-transform: uppercase; }
.cotizacion__tabla { width: 100%; border: 1px solid #ebebeb; border-collapse: collapse; color: #808080; font-size: .9em; line-height: 1.5; table-layout: fixed; }
/* Lo que no entra en la celda (en teléfono) termina en puntos suspensivos, como en wpDataTables. */
.cotizacion__tabla th, .cotizacion__tabla td {
  width: 20%;
  padding: 10px;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  vertical-align: top;
}
.cotizacion__tabla th { background: var(--blanco); font-weight: 700; }
.cotizacion__tabla th:first-child { width: 40%; }
.cotizacion--pizarra th { width: 16%; }
.cotizacion--pizarra th:first-child { width: 20%; }
.cotizacion__tabla abbr { text-decoration: none; }
.cotizacion__tabla .numero { text-align: right; }
.cotizacion__tabla td.tendencia { text-align: center; }
.cotizacion__tabla tbody tr:nth-child(odd) td { background: #f7f7f7; }
.cotizacion__fecha { margin-bottom: 30px; padding: 10px; background: var(--blanco); color: #7a7a7a; font-size: .9em; line-height: 1.5; }
.mercados__divisor { margin: 2px 0 32px; border: 0; border-top: 1px solid rgba(152, 198, 59, .47); }

/* ---------- Noticias: listado de notas (maqueta) y columna lateral ---------- */
/* Cabecera de Noticias y Comunicaciones (la foto de la cosecha de trigo). */
.cabecera--cosecha .cabecera__titulo {
  background-image: linear-gradient(rgba(0, 0, 0, .55), rgba(0, 0, 0, .55)), url("../images/cabecera-cosecha-trigo-1920x640.jpg");
  background-position: 50% 100%;
}
.archivo { display: flex; padding: 0 max(15px, calc((100% - 1140px) / 2)) 92px; }
.archivo__notas { flex: 0 0 65%; min-width: 0; padding-right: 30px; }
.noticias { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 42px 35px; }
.noticia__titulo { margin-bottom: 17px; font: 700 20px/1.3em var(--f-titulos); text-transform: capitalize; }
.noticia__fecha { margin-bottom: 13px; color: #878787; font: 400 13px/1.1em var(--f-texto); }
.noticia__resumen { margin-bottom: 15px; font: 400 17px/1.5 var(--f-texto); }
/* El renglón de «Leer más» tiene el alto del texto general (como el enlace en línea del original). */
.noticia__mas a { color: var(--verde-claro); font: 600 15px/1.1em var(--f-titulos); text-transform: uppercase; }
.archivo__mas, .archivo__lluvias { display: flex; justify-content: center; }
.archivo__mas { margin-top: 75px; }
.archivo__mas[hidden] { display: none; }
/* Columna flexible: los márgenes de los recuadros no se funden con los de lo que sigue (como los widgets). */
.archivo__lateral { display: flex; flex: 0 0 35%; flex-direction: column; min-width: 0; padding-left: 50px; }
.recuadro { margin: 0 100px 30px; padding: 4px; border: 1px solid var(--verde); color: var(--verde); font: 600 15px/1.3em var(--f-titulos); text-align: center; text-transform: uppercase; }
.archivo__lluvias { margin-bottom: 50px; }
.archivo__lateral .redes { margin-top: 5px; }

/* ---------- Comunicaciones: una frase y las redes, en grande ---------- */
.comunicaciones { display: flex; flex-direction: column; gap: 20px; min-height: 350px; padding: 10px max(10px, calc((100% - 1140px) / 2)); }
.comunicaciones__texto { margin-bottom: 20px; color: #030f27; font: 600 30px/1.4em var(--f-titulos); text-align: center; }
.comunicaciones .redes { justify-content: center; gap: 20px; margin-top: 5px; }
.comunicaciones .redes a { width: 64px; height: 64px; font-size: 32px; }

/* ---------- Lluvias: la imagen que actualiza el plugin, a su tamaño natural ---------- */
.cabecera--lluvias .cabecera__titulo {
  background-image: linear-gradient(rgba(0, 0, 0, .55), rgba(0, 0, 0, .55)), url("../images/cabecera-lluvias-1920x1280.jpg");
}
.lluvias { padding: 0 0 100px; }
.lluvias__imagen { display: block; margin: 0 auto; }

/* ---------- Contacto: redes, formulario (maqueta), mapa de sucursales y sucursales ---------- */
/* Cabecera de Contacto y Conózcanos (la foto de la oficina). */
.cabecera--oficina .cabecera__titulo {
  background-image: linear-gradient(rgba(0, 0, 0, .55), rgba(0, 0, 0, .55)), url("../images/cabecera-oficina-1920x1280.jpg");
}
.escribinos { padding: 0 max(15px, calc((100% - 1140px) / 2)) 100px; }
.escribinos__intro { display: flex; flex-direction: column; margin-right: 50px; padding-bottom: 40px; }
.escribinos__titulo { margin-bottom: 20px; font: 800 30px/1.1em var(--f-titulos); text-transform: uppercase; }
.escribinos .redes { margin-top: 5px; }
.escribinos .redes a { border: 0; background: var(--naranja); }
.escribinos .redes a:hover, .escribinos .redes a:focus { background: #c33f02; }
/* Formulario y mapa: el mapa se monta 50 px sobre la tarjeta (en tableta, sobre su borde de abajo). El
   relleno de arriba deja el ancla #mapa donde la tiene el original. */
.consulta { display: flex; padding-top: 50px; }
.consulta__tarjeta { flex: 0 0 50%; min-width: 0; padding: 50px 100px 50px 50px; background: var(--blanco); box-shadow: 0 0 25px rgba(0, 0, 0, .15); }
.consulta__mapa { display: flex; flex: 0 0 50%; align-items: center; min-width: 0; }
.mapa { flex: 0 0 100%; height: 500px; margin-left: -50px; }
.mapa__globo { color: var(--texto); text-align: center; }
.mapa__globo p { margin: 0 0 15px; }
.formulario { display: flex; flex-wrap: wrap; margin: 0 -5px -30px; }
.formulario__campo { flex: 0 0 100%; margin-bottom: 30px; padding: 0 5px; }
.formulario__campo--enviar { flex-basis: 50%; }
.formulario__entrada {
  display: block;
  width: 100%;
  min-height: 40px;
  padding: 15px;
  border: 1px solid rgba(3, 15, 39, .1);
  border-radius: 0;
  background: transparent;
  color: var(--texto);
  font: 400 15px/1.4 var(--f-texto);
}
.formulario__entrada::placeholder { color: inherit; opacity: .6; }
textarea.formulario__entrada { resize: vertical; }
.formulario__entrada:focus { outline: 0; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1); }
/* El aviso de maqueta ocupa el lugar (y el alto) del reCAPTCHA del original. */
.formulario__aviso {
  display: flex;
  flex-basis: calc(100% - 10px);
  align-items: center;
  height: 78px;
  margin: 0 5px 30px;
  padding: 0 15px;
  border: 1px solid #d3d3d3;
  border-radius: 3px;
  background: #f9f9f9;
  font-size: 14px;
  line-height: 1.4;
}
.formulario__aviso a { text-decoration: underline; }
.formulario__enviar { width: 100%; border: 0; cursor: pointer; }
.formulario__mensaje { flex: 0 0 100%; margin-bottom: 30px; padding: 0 5px; color: #c33f02; }
.formulario__mensaje--ok { color: #2e7d32; }
.formulario__mensaje--enviando { color: inherit; opacity: .7; }
/* Sucursales: cuatro columnas; la segunda fila deja vacía la cuarta, como el original. */
.sucursales__fila { display: flex; padding-top: 80px; }
.sucursales__fila + .sucursales__fila { flex-wrap: wrap; padding-top: 40px; }
/* La cuarta columna vacía del original: 1 px de alto (en tableta baja a otro renglón; en teléfono, al final). */
.sucursales__fila + .sucursales__fila::after { content: ""; flex: 0 0 25%; min-height: 1px; }
.sucursal { display: flex; flex: 0 0 25%; flex-direction: column; min-width: 0; padding: 0 10px; text-align: center; }
.sucursal__icono {
  display: flex;
  align-self: center;
  margin-bottom: 15px;
  padding: 12px;
  border-radius: 50%;
  background: var(--naranja);
  color: var(--blanco);
  font-size: 18px;
}
.sucursal__nombre { margin: 8px 0 16px; font: 700 18px/1.3em var(--f-titulos); text-transform: uppercase; }

/* ---------- Nota (maqueta de la plantilla de entradas) ---------- */
.entrada__cabecera { display: flex; flex-direction: column; padding: 72px max(15px, calc((100% - 1140px) / 2)) 0; }
.entrada__titulo { margin: 0 100px 18px; font: 800 50px/1.1em var(--f-titulos); text-align: center; text-transform: uppercase; }
.entrada__fecha {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 5px 320px 42px;
  padding: 15px 0;
  border-top: 1px solid rgba(175, 175, 175, .17);
  border-bottom: 1px solid rgba(175, 175, 175, .17);
  color: #878787;
}
.entrada__fecha .icono { flex: none; width: 13px; height: 13px; color: var(--verde); }
.entrada__fecha time { padding-left: 8px; }
.entrada__columnas { display: flex; margin: 50px 0 100px; padding: 0 max(15px, calc((100% - 1140px) / 2)); }
/* Columna flexible: los márgenes no se funden (como los widgets del original). */
.entrada__principal { display: flex; flex: 0 0 65%; flex-direction: column; min-width: 0; }
.entrada__texto { margin-bottom: 8px; }
.entrada__texto p { margin-bottom: 15px; }
.entrada__divisor { height: 0; margin: 10px 0 28px; border: 0; border-top: 1px solid rgba(175, 175, 175, .18); }
.entrada__volver { display: flex; margin-top: 42px; }
.entrada__volver .boton:hover, .entrada__volver .boton:focus { background: var(--verde); }
.entrada__lateral { display: flex; flex: 0 0 35%; flex-direction: column; min-width: 0; padding-left: 50px; }
/* Botones para compartir: colores oficiales; en la columna lateral, más altos y con un velo. */
.compartir { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin-bottom: 31px; }
.compartir__boton { display: flex; align-items: center; justify-content: center; height: 40px; color: var(--blanco); font-size: 12.8px; }
.compartir__boton:hover, .compartir__boton:focus { filter: saturate(1.5) brightness(1.2); }
.compartir__boton--facebook { background-color: #3b5998; }
.compartir__boton--twitter { background-color: #1da1f2; }
.compartir__boton--linkedin { background-color: #0077b5; }
.compartir .icono { width: 1em; height: 1em; }
.compartir__boton--linkedin .icono { width: .875em; }
.compartir--lateral { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 0; }
.compartir--lateral .compartir__boton { height: 45px; font-size: 17px; background-image: linear-gradient(90deg, rgba(0, 0, 0, .12), rgba(0, 0, 0, 0)); }
/* Nota anterior y siguiente: título en un renglón, cortado con puntos suspensivos. */
.paso { display: flex; margin: 42px 0 18px; overflow: hidden; }
.paso__enlace { display: flex; flex: 0 0 calc(50% - .5px); align-items: center; gap: 14px; min-width: 0; overflow: hidden; white-space: nowrap; }
.paso__enlace--siguiente { justify-content: flex-end; text-align: end; }
.paso__flecha { flex: none; width: .5em; height: 1em; color: var(--verde-claro); font-size: 30px; transform: translateY(-5%); }
.paso__flecha:hover { color: var(--verde); }  /* sólo con el puntero sobre la flecha, como el original */
.paso__textos { display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
.paso__rotulo { padding-bottom: 10px; color: #878787; font-size: 17px; font-weight: 400; }
.paso__titulo { overflow: hidden; font-family: var(--f-titulos); font-size: 18px; font-weight: 700; text-overflow: ellipsis; }
/* Últimas noticias de la columna lateral. */
.ultimas { display: grid; gap: 18px; margin-bottom: 50px; }
.ultimas__nota { padding: 12px 3px 0; }
.ultimas__titulo { margin-bottom: 10px; font: 600 15px/1.1em var(--f-titulos); text-transform: uppercase; }
.ultimas__fecha { margin-bottom: 5px; color: #878787; font: 400 13px/1.1em var(--f-texto); }

/* ---------- Excelencia agropecuaria: textos, video y carrusel de fotos de la premiación ---------- */
.cabecera--planta .cabecera__titulo {
  background-image: linear-gradient(rgba(0, 0, 0, .55), rgba(0, 0, 0, .55)), url("../images/cabecera-planta-1920x1080.png");
}
.excelencia { display: flex; flex-direction: column; padding: 0 max(15px, calc((100% - 1140px) / 2)) 120px; }
.excelencia__titulo { margin-bottom: 20px; font: 800 30px/1.1em var(--f-titulos); text-align: center; text-transform: uppercase; }
.excelencia__titulo--fotos { padding-top: 80px; }
.excelencia__linea { width: 40%; height: 0; margin: 0 auto 40px; border: 0; border-top: 1px solid rgba(240, 129, 33, .5); }
.excelencia__destacado { margin-bottom: 35px; text-align: center; }
.excelencia__texto { margin-bottom: 35px; }
.excelencia__video { display: block; width: 100%; aspect-ratio: 1.77777; margin-bottom: 20px; background: #000; object-fit: cover; }
.excelencia__fotos { display: flex; flex-direction: column; }
.futuros__titulo { margin-bottom: 40px; color: var(--verde); font: 800 30px/1.1em var(--f-titulos); text-transform: uppercase; }

/* ---------- Política de Calidad: la política es una imagen ---------- */
.politica { max-width: 800px; margin: 0 auto; padding: 40px 0 80px; }
.politica img { display: block; width: 100%; }

/* ---------- Acreditaciones / Certificaciones ---------- */
.acreditaciones { display: flex; flex-direction: column; padding: 100px max(15px, calc((100% - 1140px) / 2)) 60px; }
.acreditaciones__titulo { margin-bottom: 20px; color: var(--texto); font: 800 30px/1.1em var(--f-titulos); text-align: center; text-transform: uppercase; }
.acreditaciones__titulo--nacionales { padding-top: 100px; }
.acreditaciones__linea { width: 40%; height: 0; margin: 0 auto 20px; border: 0; border-top: 1px solid rgba(240, 129, 33, .5); }
/* Carruseles (Swiper de Elementor): --por-vista elementos a la vez, separados por --hueco; la pista se
   corre de a uno. La pista mide el ancho más un hueco: así cada paso es un elemento y su hueco. */
.carrusel { --por-vista: 7; --hueco: 0px; position: relative; overflow: hidden; padding: 30px 0 40px; }
.carrusel--internacionales { --por-vista: 2; margin-bottom: 20px; padding-bottom: 10px; }
.carrusel__pista {
  display: flex;
  width: calc(100% + var(--hueco));
  margin-left: calc(var(--inicio, 0) * -1 * (100% + var(--hueco)) / var(--por-vista));
  transition-property: transform;
  transition-timing-function: ease;
  touch-action: pan-y;
}
.carrusel__item { flex: 0 0 calc(100% / var(--por-vista)); min-width: 0; padding-right: var(--hueco); text-align: center; }
.carrusel__item img { vertical-align: baseline; -webkit-user-drag: none; user-select: none; }
.carrusel__puntos { position: absolute; right: 0; bottom: 5px; left: 0; text-align: center; }
.carrusel__punto {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 6px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--verde);
  opacity: .2;
  vertical-align: baseline;
  cursor: pointer;
}
.carrusel__punto[aria-current="true"] { opacity: 1; }
/* Fotos (Excelencia agropecuaria): tres a la vez con 40 px entre ellas y los puntos debajo. */
.carrusel--fotos { --por-vista: 3; --hueco: 40px; padding: 0 0 30px; }
.carrusel--fotos .carrusel__item a { display: block; }
.carrusel--fotos .carrusel__item img { width: 100%; }

/* ---------- Conózcanos: dos videos de YouTube ---------- */
.conozcanos { display: flex; flex-direction: column; padding: 0 max(15px, calc((100% - 1140px) / 2)) 120px; }
.conozcanos__video + .conozcanos__video { margin-top: 120px; }
.conozcanos__titulo { margin-bottom: 20px; padding-top: 5px; color: var(--verde); font: 800 30px/1.1em var(--f-titulos); text-transform: uppercase; }
.conozcanos__reproductor { display: block; width: 100%; aspect-ratio: 1.77777; border: 0; background: #000; }

/* ---------- Certificado CASAFE: la imagen del certificado ---------- */
.casafe { padding: 60px max(15px, calc((100% - 1140px) / 2)) 100px; }
.casafe__certificado { display: block; margin: 0 auto; }

/* ---------- Gestión Administrativa ---------- */
.documentos { display: flex; padding: 110px max(15px, calc((100% - 1140px) / 2)) 100px; }
.documentos__grupo { display: flex; flex: 0 0 50%; flex-direction: column; min-width: 0; padding-right: 20px; }
.documentos__titulo { margin-bottom: 40px; color: #030f27; font: 800 30px/1.1em var(--f-titulos); text-align: center; text-transform: uppercase; }
.documentos__lista li { padding-bottom: 25px; }
/* DaxlinePro 400 no carga en el original (dirección rota): los botones salen en la sin serifa del sistema. */
.documento {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 18px 15px;
  background: var(--naranja);
  color: var(--blanco);
  font: 400 15px/1.1em sans-serif;
  text-align: center;
  text-transform: uppercase;
  transition: all .3s;
}
.documento:hover, .documento:focus { background: var(--verde-claro); color: var(--blanco); }
.documento .icono { flex: none; width: 11.25px; height: 15px; }

/* ---------- Pie ---------- */
.pie__cinta { position: relative; z-index: 1; display: block; width: 100%; }
.pie__cuerpo { margin-top: -48px; padding: 120px 10px 10px; background: var(--verde-claro); }
.pie__columnas { display: flex; max-width: 1140px; margin: 0 auto; padding-bottom: 100px; }
.pie__columna { display: flex; flex-direction: column; align-items: flex-start; }
.pie__columna--contacto { flex: 0 0 35.961%; padding: 15px 40px 0 15px; }
.pie__columna--secciones { flex: 0 0 32%; padding: 15px 40px 0 15px; }
.pie__columna--galeria { flex: 0 0 31.344%; padding: 15px 0 0 15px; }
.pie__columna > * { align-self: stretch; }
.pie__columna > * + * { margin-top: 20px; }
.pie__titulo { color: var(--blanco); font: 600 15px/1.1em "Montserrat", sans-serif; text-transform: uppercase; }
.pie__lista a { display: flex; color: var(--blanco); font: 400 17px/1.5em var(--f-texto); }
.pie__lista li:not(:last-child) { padding-bottom: 6.5px; }
.pie__lista li:not(:first-child) { margin-top: 6.5px; }
.pie__lista--contacto { padding-top: 5px; }
.pie__lista--contacto li:not(:last-child) { padding-bottom: 10px; }
.pie__lista--contacto li:not(:first-child) { margin-top: 10px; }
.pie__columna--secciones .pie__lista:first-child { margin-top: -2px; }
.pie__lista--separada { padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, .16); }
.redes { display: flex; gap: 10px; }
.pie__columna > .redes { margin-top: 25px; }
.redes a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--blanco);
  background: var(--verde-claro);
  color: var(--blanco);
  font-size: 20px;
  transition: all .3s;
}
.redes a:hover, .redes a:focus { border-color: var(--naranja); background: var(--naranja); }
.pie__columna > .pie__divisor { height: 0; margin: 22px 0 0; padding: 0 0 2px; border: 0; border-top: 1px solid var(--blanco); }
.pie__columna .boton--borde { align-self: flex-start; }
.galeria { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; padding-top: 7px; }
.galeria a { position: relative; display: block; aspect-ratio: 1; overflow: hidden; }
.galeria img { width: 100%; height: 100%; object-fit: cover; }
.galeria a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .5);
  opacity: 0;
  transition: opacity .8s;
}
.galeria a:hover::after, .galeria a:focus::after { opacity: 1; }
.pie__legal {
  display: flex;
  align-items: center;
  padding: 10px max(0px, calc((100% - 1140px) / 2));
  border-top: 1px solid rgba(255, 255, 255, .06);
  color: var(--blanco);
  font: 300 15px/1.5em var(--f-texto);
}
.pie__legal p { flex: 1 1 50%; }
.pie__credito { padding: 10px; text-align: end; }

/* ---------- Visores (fotos de la galería y video): el visor de Elementor ---------- */
.visor {
  --ui: rgba(238, 238, 238, .9);
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, .8);
  text-align: center;
  -webkit-user-select: none;
  user-select: none;
}
.visor button {
  display: flex;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
  transition: all .3s;
}
.visor__cerrar {
  position: absolute;
  top: 0;
  right: .75em;
  z-index: 2;
  margin-top: 13px;
  padding: .25em !important;
  color: var(--ui) !important;
  font-size: 20px !important;
}
.visor__cerrar:hover, .visor__boton:hover, .visor__flecha:hover { color: #fff !important; }
.visor__mensaje { position: absolute; inset: 0; z-index: 1; overflow: hidden; }  /* debajo de la cruz, como en el original */
.visor--galeria .visor__mensaje { animation: acercar .3s; }
@keyframes acercar { from { opacity: 0; transform: scale3d(.3, .3, .3); } 50% { opacity: 1; } }
.visor__cabecera {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  width: 100%;
  padding: 15px 2.6em 15px 1em;
  color: var(--ui);
  font-size: 20px;
  transition: .3s;
}
.visor__boton { margin: 0 .35em; padding: .25em !important; }
.visor__boton .icono--alterna, .visor__boton[aria-checked="true"] .icono--normal { display: none; }
.visor__boton[aria-checked="true"] .icono--alterna { display: block; }
.visor__contador { width: max-content; margin-inline-end: auto; font-size: .75em; line-height: 1.5; }
.visor__pista { display: flex; gap: 100px; height: 100%; transition-property: transform; transition-timing-function: ease; }
.visor__item { display: flex; flex: 0 0 100%; align-items: center; justify-content: center; height: 100%; padding: 70px; }
.visor__foto {
  max-height: 100%;
  border-radius: 2px;
  box-shadow: 0 0 30px rgba(0, 0, 0, .3), 0 0 8px -5px rgba(0, 0, 0, .3);
  transition: transform .3s;
}
.visor--ampliado .visor__item--actual .visor__foto { transform: scale(2); cursor: move; }
.visor--ampliado .visor__cabecera { background: rgba(0, 0, 0, .5); }
.visor--ampliado .visor__flecha { opacity: 0; pointer-events: none; }
.visor__flecha {
  position: absolute;
  top: 0;
  z-index: 1;
  align-items: center;
  justify-content: center;
  width: 15%;
  height: 100%;
  color: var(--ui) !important;
  font-size: 25px !important;
}
.visor__flecha--anterior { left: 0; }
.visor__flecha--siguiente { right: 0; }
.visor__compartir {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  width: 0;
  height: 0;
  overflow: hidden;
  background: rgba(0, 0, 0, 0);
  font-size: 20px;
  transition: background-color 400ms;
}
.visor--compartiendo .visor__compartir { width: 100vw; height: 100vh; background: rgba(0, 0, 0, .5); cursor: default; }
.visor--compartiendo .visor__compartir-boton { position: relative; z-index: 6; }
.visor__enlaces {
  position: absolute;
  top: 3em;
  right: 2.8em;
  min-width: 200px;
  padding: 14px 20px;
  border-radius: 3px;
  background: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, .3);
  opacity: 0;
  transform: scale(0);
  transform-origin: 90% 10%;
  transition: all 250ms 100ms;
}
.visor__enlaces::before {
  content: "";
  position: absolute;
  top: 1px;
  right: .5em;
  display: block;
  border: .45em solid;
  border-color: transparent transparent #fff;
  transform: translateY(-100%) scaleX(.7);
}
.visor--compartiendo .visor__enlaces { opacity: 1; transform: scale(1); }
.visor__enlaces a {
  display: flex;
  align-items: center;
  color: #0c0d0e;
  font-size: 12px;
  line-height: 2.5;
  text-align: start;
  opacity: 0;
  transition: opacity 500ms 100ms;
}
.visor--compartiendo .visor__enlaces a { opacity: 1; }
.visor__enlaces a:hover { color: #000; }
.visor__enlaces .icono { position: relative; top: -1.5px; width: 1.25em; height: 1.25em; margin-inline-end: .75em; }  /* el icono va en el renglón del enlace, 1,5 px más arriba que centrado */
.visor__enlaces .icono--facebook { color: #3b5998; }
.visor__enlaces .icono--x { color: #000; }
.visor__enlaces .icono--pinterest { color: #bd081c; }
.visor__enlaces .icono--descargar { color: #9da5ae; }
.visor__video { position: absolute; top: 50%; left: 50%; width: 100%; transform: translate(-50%, -50%); }
.visor__video > div { width: 85vw; max-height: 85vh; margin: auto; }
.visor__video video { width: 100%; max-height: 90vh; height: auto; }
@media (max-width: 1024px) {
  .visor__video > div { width: 95vw; max-height: 95vh; }
}
@media (max-width: 767px) {
  .visor__item { padding: 70px 0; }
  .visor__flecha { width: 20%; }
  .visor__flecha--anterior { justify-content: flex-start; }
  .visor__flecha--siguiente { justify-content: flex-end; }
  .visor__flecha .icono { box-sizing: content-box; padding: 10px; background: rgba(0, 0, 0, .5); }
}

/* ---------- Entradas animadas (las de Elementor: 1,25 s al asomar en pantalla) ---------- */
.con-animaciones [data-entrada]:not(.es-visible) { visibility: hidden; }
.con-animaciones [data-entrada].es-visible { animation-duration: 1.25s; }
.con-animaciones [data-entrada][data-lento].es-visible { animation-duration: 2s; }  /* «animated-slow» */
[data-entrada="desde-abajo"].es-visible { animation-name: desde-abajo; }
[data-entrada="desde-derecha"].es-visible { animation-name: desde-derecha; }
[data-entrada="desde-izquierda"].es-visible { animation-name: desde-izquierda; }
[data-entrada="aparece"].es-visible { animation-name: aparece; }
@keyframes desde-abajo { from { opacity: 0; transform: translate3d(0, 100%, 0); } to { opacity: 1; transform: none; } }
@keyframes desde-derecha { from { opacity: 0; transform: translate3d(100%, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes desde-izquierda { from { opacity: 0; transform: translate3d(-100%, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes aparece { from { opacity: 0; } to { opacity: 1; } }

/* ================= Tableta (hasta 1024 px) ================= */
@media (max-width: 1024px) {
  .encabezado { margin-bottom: 0; }
  /* Tres columnas de 33,333 % como las de Elementor (no tercios exactos): el logo queda 1/64 px más bajo y
     todo lo que sigue cae en la misma fila de píxeles que en el original. */
  .encabezado__barra { grid-template-columns: repeat(3, 33.333%); max-width: 1024px; padding: 0 0 20px; }
  .clima, .extranet { display: none; }
  .encabezado__logo { grid-column: 2; grid-row: 1; align-self: start; width: 300px; max-width: calc(100% - 16px); margin: 8px auto; }
  .menu__abrir {
    grid-column: 3;
    grid-row: 1;
    align-self: center;
    justify-self: end;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 28px 58px 8px 0;
    padding: .25em;
    border: 0;
    border-radius: 3px;
    background: rgba(0, 0, 0, .05);
    color: var(--verde);
    font-size: 30px;
    cursor: pointer;
  }
  .menu__abrir .icono--cerrar, .menu__abrir[aria-expanded="true"] .icono--abrir { display: none; }
  .menu__abrir[aria-expanded="true"] .icono--cerrar { display: block; }
  /* La lista se despliega 30 px por debajo del botón, que va centrado en el alto del encabezado
     (el alto depende del logo): 50 % del encabezado + 52,5 px. */
  .menu {
    position: absolute;
    top: calc(50% + 52.5px);
    right: 0;
    left: 0;
    z-index: 9997;
    max-width: none;
    max-height: 0;
    padding: 0;
    overflow: hidden;
    transform: scaleY(0);
    transform-origin: top;
    transition: max-height .3s, transform .3s;
  }
  .menu.abierto { max-height: 100vh; overflow-y: auto; transform: scaleY(1); }
  .menu__lista { display: block; width: auto; }
  .menu__lista > li { display: block; }
  .menu__lista > li::after { display: none; }
  .menu__lista > li > a, .menu__lista > li:first-child > a, .menu__lista > li:nth-last-child(2) > a {
    margin: 0;
    padding: 10px 20px;
    font-size: 16px;
  }
  .menu__lista > li > a[aria-current="page"], .con-submenu.abierto > .menu__padre { background: var(--naranja-menu); }
  .menu__lista > .menu__extranet { display: block; }
  .menu__flecha .icono { font-size: 16px; }
  .submenu { position: static; min-width: 0; }
  .submenu a { padding: 10px 20px; font-size: 16px; white-space: normal; }

  .portada { height: 650px; }
  .frases__frase { padding: 0 0 96px; }
  .frases__frase p { max-width: 85%; font-size: 50px; }

  .servicios { padding-top: 0; padding-bottom: 80px; }
  .servicio:first-child { margin-right: 10px; }
  .servicio--medio { margin: 0 5px; }
  .servicio:last-child { margin-left: 10px; }
  .servicio__tarjeta { margin: -80px 10px 0; padding: 27px 26px 12px; }
  .servicio--medio .servicio__tarjeta { margin: 0 10px -80px; }
  .servicio--cien-anos .servicio__tarjeta { padding: 27px 26px 12px; }
  .servicio__titulo { font-size: 18px; }
  .cien-anos__lema { font-size: 23px; line-height: 2em; }

  .empresa { padding: 0 15px; }
  .empresa__fotos { flex-wrap: wrap; }
  .empresa__entrada { flex: 0 0 calc(100% - 50px); width: auto; margin-right: 50px; }
  .empresa__fondo { width: calc(60% - 170px); }
  .empresa__contenido { flex-wrap: wrap; }
  .empresa__tarjeta { flex-basis: calc(100% - 80px); margin-left: 80px; }
  .empresa__texto { padding: 0; }
  .empresa__aerea { flex-basis: 100%; text-align: center; }
  .empresa__aerea img { display: inline-block; margin: 50px 0 0; }

  .energia { padding: 0 30px; }
  .energia__contenido { padding: 80px 0 90px; }
  .energia__texto { margin: 0 0 15px; }

  .novedades { margin-top: 0; padding: 30px 15px 35px; }
  .novedades__lista { grid-template-columns: 1fr; margin-top: 20px; }

  .cabecera__titulo { padding: 80px 0 132px; }
  .identidad { max-width: none; padding: 0 15px; }
  .valores li { font-size: 18px; }
  .nosotros { margin: 25px 0 0; padding: 0 15px; }
  .nosotros__texto { margin-bottom: 140px; padding: 35px; }

  .rubro__texto, .rubro__texto--suelto { margin: 0 0 33px; }
  .rubro--mercado-interno .rubro__texto { margin: 0 0 15px; }
  .rubro--acondicionamiento { margin-top: 25px; }
  .rubro__fila { margin-top: 0; }
  .rubro__lateral { display: none; }
  .contactos { flex-basis: 100%; }
  .rubro--acondicionamiento .contactos { flex-basis: calc(100% - 6px); margin: 0 3px; }
  .rubro--mercado-interno .contactos { flex-basis: 100%; }
  .contactos__columnas .contactos__lista { flex-basis: 45%; width: auto; }
  .contactos--agro { margin-top: 0; }
  .contactos__sucursales { flex-wrap: wrap; }
  .contactos__columna { flex-basis: 45%; }
  .contactos--agro .contactos__lista { width: auto; }
  .contactos__hoja { display: none; }
  .rubro--produccion .contactos__lista { margin-top: 0; }
  .contactos__lista { width: 45%; }
  .contacto__icono { font-size: 40px; }
  .rubro--acondicionamiento .contacto__icono { font-size: 20px; }

  .semillas__fila { flex-direction: column; }
  .semillas__fila .rubro__lateral { display: block; flex-basis: auto; margin: 0 0 30px; }
  .semillas__fila .rubro__lateral--derecha { margin: 30px 0 0; }
  .semillas__foto { height: 250px; object-fit: cover; }
  .semillas__fila .contactos { flex-basis: auto; }

  .lab-intro { max-width: none; padding: 0 15px 40px; }
  .certificados { align-content: space-around; padding: 70px 10px; }
  .certificado__logo img { width: calc(min(300px, 100%) * .9); }
  .lab-semillas { margin-top: 25px; }
  .lab-semillas__principal { padding: 10px 30px 10px 15px; }
  .lab-semillas__principal .lab-titulo { padding-left: 20px; }
  .acordeon__texto { line-height: 19px; }
  .lab-cereales { flex-wrap: wrap; }
  .lab-cereales__grupo, .lab-cereales__grupo--otras { flex-basis: 100%; padding: 0 0 70px; }
  .lab-cereales__listas .lab-lista, .lab-cereales__listas .lab-lista + .lab-lista { flex-basis: 50%; }
  .lab-contacto { margin-top: 25px; }
  .lab-contacto__fila { flex-direction: column; }
  .lab-contacto__fila .contactos { flex-basis: auto; margin-top: -125px; }
  .lab-contacto__fila .rubro__lateral--derecha { display: block; flex-basis: auto; margin: 0; }
  .lab-contacto .rubro__imagen { width: 768px; height: 250px; margin: 0 auto; object-fit: cover; }

  .mercados { padding: 50px 35px 55px; }

  .archivo { flex-wrap: wrap; padding: 0 15px 80px; }
  .archivo__notas, .archivo__lateral { flex-basis: 100%; }
  .archivo__notas { padding: 0 0 72px; }
  .noticias { margin-top: 30px; }
  .archivo__lateral { padding-left: 0; }
  .recuadro { margin: 0 290px 30px; }
  .archivo__lateral .redes { justify-content: center; }

  .lluvias { padding: 50px 50px 100px; }

  .escribinos__intro { margin: 0 0 50px; text-align: center; }
  .escribinos .redes { justify-content: center; }
  .consulta { flex-direction: column; }
  .consulta__tarjeta { flex-basis: auto; padding: 50px 50px 100px; }
  .consulta__mapa { flex-basis: auto; }
  .mapa { flex: 1 1 auto; margin: -50px 30px 0; }
  .sucursales__fila + .sucursales__fila .sucursal { flex-basis: 33%; }
  .sucursales__fila + .sucursales__fila .sucursal:last-child { flex-basis: 33.33%; }

  .entrada__cabecera { padding-top: 75px; }
  .entrada__titulo { margin: 0 0 23px; }
  .entrada__fecha { margin: 0 100px 60px; }
  .entrada__columnas { flex-direction: column; margin: 45px 0 0; padding: 0 15px 80px; }
  .entrada__principal { flex-basis: auto; padding-bottom: 75px; }
  .entrada__lateral { flex-basis: auto; padding-left: 0; }
  .ultimas { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 0; }

  .excelencia { padding-bottom: 60px; }
  .excelencia > .excelencia__titulo { margin-top: 30px; }
  .excelencia__titulo--fotos { padding-top: 60px; }
  .excelencia__texto { text-align: center; }
  .conozcanos__titulo { text-align: center; }
  .mercados__fila { flex-direction: column; }
  .cotizacion, .cotizacion--pizarra, .cotizacion--chicago { flex-basis: auto; }
  .cotizacion:first-child { margin-right: 0; }

  .documentos { padding: 70px 15px 100px; }
  .documentos__grupo { padding: 0 10px; }
  .documentos__grupo--cuenta .documentos__titulo { margin-bottom: 73px; }

  .pie__cuerpo { padding-top: 70px; }
  .pie__columnas { flex-wrap: wrap; max-width: 1024px; padding-bottom: 50px; }
  .pie__columna--contacto { flex-basis: 50%; }
  .pie__columna--secciones { flex-basis: 50%; padding: 12px 50px 0 0; }
  .pie__columna--galeria { flex-basis: 100%; margin-top: 50px; padding: 0 15px; }
  .pie__legal { display: block; margin-top: 12px; padding: 10px 0; text-align: center; }
  .pie__credito { text-align: center; }
}

/* ================= Teléfono (hasta 767 px) ================= */
@media (max-width: 767px) {
  body { font-size: 15px; }
  .encabezado__barra { grid-template-columns: 25% 50% 25%; max-width: 767px; padding-bottom: 10px; }
  .encabezado__logo { align-self: center; }
  .encabezado__logo img { width: 100%; }
  .menu__abrir { margin: 18px calc(23px + (100% - 93px) / 2) 8px 0; font-size: 22px; }
  .menu { top: calc(50% + 34.5px); }

  .portada { height: 555px; }
  .frases__frase { padding: 0 0 40px; }
  .frases__frase p { margin-bottom: 15px; font-size: 36px; }
  .frases__flecha { display: none; }
  .cinta { height: 73px; margin-top: -2px; }

  .servicios { padding-bottom: 0; }
  .titulo-seccion { font-size: 28px; }
  .servicios__fila { flex-wrap: wrap; padding-top: 0; }
  .servicio, .servicio:first-child, .servicio--medio, .servicio:last-child { flex-basis: 100%; margin: 0 0 50px; }
  .servicio--medio { flex-direction: column-reverse; }
  .servicio__tarjeta, .servicio--medio .servicio__tarjeta { min-height: 280px !important; margin: -80px 10px 0; }
  .servicio__tarjeta { border-top: 8px solid var(--verde-claro); border-bottom: 0; }
  .servicio__titulo { font-size: 20px; }
  .servicio__texto { font-size: 15px; }
  .servicio--cien-anos { display: none; }

  .banner { margin-bottom: 50px; }

  .empresa__fotos { min-height: 100px; }
  .empresa__fondo { display: none; }
  .empresa__entrada { flex-basis: 100%; margin-right: 0; }
  .empresa__contenido { margin-top: 0; }
  .empresa__tarjeta { flex-basis: 100%; margin-left: 0; padding: 30px 20px 30px 30px; }
  .empresa__titulo { font-size: 25px; }
  .empresa__subtitulo { padding: 0; font-size: 25px; }
  .empresa__texto { font-size: 18px; }
  .empresa__aerea img { margin: 0; }

  .energia__contenido { padding: 60px 0; }
  .energia .titulo-seccion { margin-bottom: 0; }
  .energia__texto { margin: 6px 0 10px; }
  .video__reproducir { font-size: 60px; }  /* 110 px en el original: más de la mitad del alto del video */

  .novedades { margin: 20px 0; }
  .novedades__encabezado { padding: 30px 0; }
  .novedades__lista { margin-top: 0; }
  .nota__titulo { font-size: 20px; }
  .nota__resumen { font-size: 16px; }

  .cabecera__titulo { padding: 74px 0 92px; font-size: 32px; }
  /* 25 px a cada lado (en el original, ninguno): los títulos largos bajan de renglón antes de tocar el borde. */
  .cabecera .cabecera__titulo { padding-right: 25px; padding-left: 25px; }
  .identidad { flex-wrap: wrap; padding: 40px 15px 60px; }
  .identidad__textos { flex-basis: 100%; padding: 0; }
  .identidad__titulo { font-size: 24px; }
  .identidad__vision { margin: 6px 0 30px; }
  .mision { margin: -10px 0 10px; }
  .mision li { font-size: 15px; }
  .valores { flex-basis: 100%; margin-top: 30px; padding: 30px 0; }
  .valores li:not(:last-child) { padding-bottom: 25px; }
  .valores li:not(:first-child) { margin-top: 25px; }
  .nosotros { margin: 0; padding: 0; }
  .nosotros__texto { margin: -55px 30px 80px; padding: 25px 25px 35px; }

  .rubro { margin-top: 35px; padding: 100px 15px 0; }
  .rubro--produccion, .rubro--mercado-interno, .rubro--laboratorio, .rubro--procesamiento, .rubro--ecommerce { margin-top: 0; }
  .rubro--acondicionamiento { padding: 0 15px; }
  .rubro--trazabilidad { padding: 60px 15px 40px; }
  .rubro--produccion, .rubro--logistica { padding-top: 60px; }
  .rubro--ecommerce { padding-bottom: 30px; }
  .rubro--logistica .rubro__foto { margin-bottom: 18px; }
  .rubro--mercado-interno .rubro__texto { margin: 6px 0 10px; }
  .rubro--laboratorio .rubro__lateral--izquierda { margin: 0; }
  .rubro--laboratorio .rubro__lateral--derecha { margin: 0; padding-bottom: 80px; }
  .rubro--laboratorio .rubro__imagen { height: 150px; }
  .rubro--laboratorio .rubro__lateral--derecha .rubro__imagen { object-position: bottom center; }
  .rubro--procesamiento .contactos { padding: 30px 30px 60px; }
  .rubro--agtech .contactos { display: none; }
  .rubro--ecommerce .rubro__lateral { display: none; }
  .rubro__titulo { font-size: 24px; }
  .rubro__texto { margin: 6px 0 28px; }
  .rubro__texto--suelto { margin-bottom: 13px; }
  .rubro__fila { flex-direction: column; }
  .rubro__lateral, .rubro__lateral--derecha { display: block; flex-basis: auto; margin: 30px 0; }
  .contactos { flex-basis: auto; padding: 30px; }
  .contactos__titulo { font-size: 24px; }
  .contactos__lista { width: auto; }
  .contactos__columnas { flex-direction: column; }
  .contactos__columnas .contactos__lista { flex-basis: auto; }
  .servicios-agro { flex-direction: column; align-items: stretch; margin-bottom: 30px; }
  .servicios-agro li, .servicios-agro li:nth-child(n) { flex: none; margin: 0 0 10px; padding-left: 0; }
  .servicios-agro li:nth-child(1) { margin-top: -10px; padding-right: 20px; }
  .contactos__columna { flex-basis: 100%; }
  .contacto { flex-direction: column; align-items: stretch; padding-bottom: 20px; text-align: center; }
  .contacto__icono, .rubro--acondicionamiento .contacto__icono { align-self: center; font-size: 35px; }

  .semillas { padding-bottom: 70px; }
  .semillas__intro, .cultivos { flex-direction: column; }
  .semillas__texto { flex-basis: auto; padding: 26px 20px 30px; }
  .semillas__acreditacion { flex-basis: auto; }
  .semillas__acreditacion img { width: 80%; }
  .semillas__titulo { font-size: 24px; }
  .semillas__titulo--servicios { padding: 40px 10px 0; }
  .pestanas__lista { display: none; }
  .pestanas__desplegar {
    display: block;
    width: 100%;
    padding: 10px;
    border: 0;
    background: none;
    color: var(--verde);
    font: 500 14px/1.5em var(--f-texto);
    text-align: start;
    text-transform: uppercase;
    cursor: pointer;
  }
  .pestanas__panel { padding: 10px; }
  .cultivos__grupo { flex-basis: auto; }
  .cultivos__lista { margin: -10px 0 10px; }
  .semillas__fila .rubro__lateral, .semillas__fila .rubro__lateral--derecha { margin: 0 0 60px; }
  .semillas__fila .rubro__lateral--derecha { margin: 30px 0 0; }
  .semillas__foto { height: 150px; }
  .semillas__fila .contactos { padding: 30px 30px 60px; }

  .lab-intro { flex-direction: column; }
  .lab-intro__texto { flex-basis: auto; padding-top: 16px; }
  .lab-intro__texto p:last-child { margin-bottom: 10px; }
  .certificados { flex-basis: auto; margin-top: 20px; }
  .certificado--largo { height: 13px; }
  .certificado__logo img { width: calc(min(300px, 100%) * .7); }
  .lab-titulo { font-size: 24px; }
  .lab-semillas { flex-direction: column; margin-top: 0; padding: 30px 0 60px; }
  .lab-semillas__principal { flex-basis: auto; padding: 10px; }
  .lab-semillas__foto { flex-basis: auto; min-height: 150px; margin-top: 40px; }
  .acordeon__titulo { padding: 12px 15px; font-size: 15px; line-height: 15px; }
  .acordeon__icono { width: 18px; }
  .acordeon__texto { font-size: 16px; }
  .acordeon__panel { padding: 7px 15px; }
  .lab-cereales { padding: 60px 15px; }
  .lab-cereales__grupo { padding: 0 0 40px; }
  .lab-cereales__grupo--otras { padding: 0; }
  .lab-cereales__listas { flex-direction: column; }
  .lab-cereales__listas .lab-lista, .lab-cereales__listas .lab-lista + .lab-lista { flex-basis: auto; padding: 0 30px 20px 10px; }
  .lab-cereales__listas .lab-lista + .lab-lista { margin-top: -9px; }
  .lab-lista--otras { margin: -10px 0 10px; }
  .lab-contacto { margin-top: 0; padding: 0; }
  .lab-contacto__fila .rubro__lateral, .lab-contacto__fila .rubro__lateral--derecha { margin: 0; }
  .lab-contacto__fila .rubro__lateral--derecha { padding-bottom: 80px; }
  .lab-contacto__fila .contactos { padding: 30px; }
  .lab-contacto .rubro__imagen { width: 100%; height: 150px; }
  .lab-contacto .rubro__lateral--derecha .rubro__imagen { object-position: 50% 100%; }

  .mercados { margin: 20px 0; }

  .archivo { padding: 40px 15px 80px; }
  .noticias { margin-top: 0; grid-template-columns: minmax(0, 1fr); }
  .recuadro { margin: 0 70px 30px; font-size: 14px; }

  .comunicaciones { padding: 30px 15px 15px; }
  .comunicaciones__texto { font-size: 24px; }
  .comunicaciones .redes { gap: 16px; }
  .comunicaciones .redes a { width: 52px; height: 52px; font-size: 26px; }

  .lluvias { padding: 15px 0 60px; }

  .escribinos { padding: 50px 0 0; }
  .escribinos__intro { margin: 0; padding-bottom: 0; }
  .escribinos__titulo { font-size: 24px; }
  .consulta__tarjeta { padding: 25px 25px 50px; }
  .mapa { margin: 0; }
  .formulario__campo--enviar { flex-basis: 100%; }
  .sucursales__fila { flex-direction: column; padding-top: 40px; }
  .sucursales__fila + .sucursales__fila { padding: 40px 0 20px; }
  .sucursal { margin-bottom: 30px; }
  .sucursales__fila:first-child .sucursal:last-child { margin-bottom: 0; }
  .sucursal__nombre { font-size: 17px; }

  .entrada__titulo { font-size: 32px; }
  .entrada__fecha { margin: 0 0 60px; }
  .entrada__fecha .icono { width: 16px; height: 16px; }
  .entrada__columnas { margin-top: 25px; }
  .compartir { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .compartir--lateral { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .paso__flecha { font-size: 20px; }
  .ultimas { grid-template-columns: minmax(0, 1fr); }

  .excelencia { padding-top: 40px; }
  .excelencia__titulo { font-size: 24px; }
  .excelencia__titulo--fotos { padding-top: 50px; }
  .conozcanos { padding: 50px 0 0; }
  .conozcanos__titulo { font-size: 24px; }
  /* El original deja entre las dos tablas de cada fila la columna vacía de escritorio, de 1 px. */
  .cotizacion + .cotizacion { margin-top: 1px; }
  .cotizacion__titulo { font-size: 17px; }
  .futuros__titulo { font-size: 24px; }

  .acreditaciones__titulo { font-size: 24px; }
  .documentos { flex-wrap: wrap; padding: 90px 15px 80px; }
  .documentos__grupo { flex-basis: 100%; padding: 0; }
  .documentos__grupo:first-child li:last-child { padding-bottom: 0; }
  .documentos__grupo--cuenta { margin-top: 80px; }
  .documentos__titulo { font-size: 24px; }

  .pie__cinta { margin-bottom: 38px; }
  .pie__cuerpo { padding-top: 65px; }
  .pie__columnas { max-width: 767px; padding-bottom: 80px; }
  .pie__columna--contacto, .pie__columna--secciones, .pie__columna--galeria { flex-basis: 100%; margin: 0 0 50px; padding: 0; }
  .pie__columna--galeria { margin-bottom: 0; }
  .pie__titulo { font-size: 20px; text-align: center; }
  .pie__lista a { justify-content: center; }
  .pie__columna--secciones .pie__lista:first-child { margin-bottom: -8px; }
  .pie__lista--separada { padding-top: 0; border-top: 0; }
  .pie__columna .boton--borde { align-self: center; }
  .pie__legal { margin-top: 0; padding: 20px 10px; }
}

/* Pestañas verticales en tableta (de 768 a 1024 px). */
@media (min-width: 768px) and (max-width: 1024px) {
  .pestanas { display: flex; }
  .pestanas__lista { display: flex; flex: 0 0 25%; flex-direction: column; }
  .pestanas__pestana { display: block; }
  .pestanas__paneles { flex-grow: 1; }
}

/* Fotos de los rubros: 250 px en tableta (Elementor); el CSS a mano del original las deja en 248 px
   desde 1024 px y en teléfono. */
@media (min-width: 768px) and (max-width: 1023px) {
  .rubro__foto { height: 250px; }
}

/* La galería del pie y los carruseles calculan sus columnas con su propio script, que pasa a tableta por
   debajo de 1024 px y a teléfono por debajo de 767 px (un píxel después que el resto del sitio). */
@media (max-width: 1023px) {
  .galeria { gap: 10px; }
  .carrusel { --por-vista: 4; }
  .carrusel--fotos { --por-vista: 2; }
}
@media (max-width: 766px) {
  .galeria { grid-template-columns: repeat(2, 1fr); }
  .carrusel { --por-vista: 2; }
  .carrusel--fotos { --por-vista: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .frases__pista, .menu, .menu__lista a { transition: none; }
}
