/* Biomapa — estilos del directorio. Mobile first; escritorio desde 1024px.
   Valores tomados de las pantallas de referencia del diseño. */

:root {
	--bm-verde-oscuro: #1C5A34;
	--bm-verde: #3F9142;
	--bm-cta: #2F7D33;           /* AA con texto blanco (#3F9142 no pasa) */
	--bm-cta-hover: #276A2B;
	--bm-lima: #8CC63F;
	--bm-fondo: #F3EFE3;
	--bm-blanco: #FFFFFF;
	--bm-borde: #E6E0CF;
	--bm-borde-2: #E2DCCB;
	--bm-borde-input: #D6CFBB;
	--bm-divisor: #EFEADB;
	--bm-texto: #1E2A22;
	--bm-texto-sec: #4E5E54;
	--bm-chip: #E4F0D6;
	--bm-chip-borde: #CFE0BE;
	--bm-claro: #EEF4E6;
	--bm-arena: #E9E2CC;
	--bm-wa: #1F7A45;
	--bm-t: 'Montserrat', system-ui, sans-serif;
	--bm-c: 'Nunito Sans', system-ui, sans-serif;
	--bm-r-card: 18px;
	--bm-r-dest: 22px;
	--bm-r-input: 14px;
	--bm-ancho: 1200px;
}

/* ---------- Base ---------- */
body.bm {
	background: var(--bm-fondo);
	color: var(--bm-texto);
	font-family: var(--bm-c);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}
body.bm #wrapper, body.bm #inner-wrap, body.bm .site { background: var(--bm-fondo); }
.bm a { color: var(--bm-verde-oscuro); }
.bm a:hover { color: var(--bm-verde); }
.bm :focus-visible { outline: 3px solid var(--bm-lima); outline-offset: 2px; border-radius: 6px; }
.bm-ico { flex-shrink: 0; display: block; }
.bm-oculto { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.bm-saltar { position: absolute; left: -9999px; top: 8px; z-index: 1000; background: var(--bm-blanco); padding: 10px 16px; border-radius: 12px; font-weight: 800; }
.bm-saltar:focus { left: 8px; }
.bm-contenedor { width: 100%; max-width: calc(var(--bm-ancho) + 32px); margin: 0 auto; padding: 0 16px; box-sizing: border-box; }
.bm-verde { color: var(--bm-verde); display: inline-flex; }
.bm-solo-desk { display: none !important; }
.bm-pagina { padding: 20px 0 32px; }
.bm-pagina *, .bm-header *, .bm-footer * { box-sizing: border-box; }

/* ---------- Botones ---------- */
.bm .bm-boton {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 52px; padding: 0 22px; border-radius: 27px; border: 1.5px solid var(--bm-cta);
	background: var(--bm-cta); color: #fff; text-decoration: none; cursor: pointer;
	font-family: var(--bm-t); font-weight: 700; font-size: 15px; line-height: 1.2; text-align: center;
	transition: background .15s, border-color .15s, color .15s;
}
.bm .bm-boton:hover { background: var(--bm-cta-hover); border-color: var(--bm-cta-hover); color: #fff; }
.bm .bm-boton--borde { background: transparent; color: var(--bm-verde-oscuro); border-color: var(--bm-verde-oscuro); }
.bm .bm-boton--borde:hover { background: var(--bm-verde-oscuro); color: #fff; }
.bm .bm-boton--claro { background: #fff; color: var(--bm-verde-oscuro); border-color: #fff; }
.bm .bm-boton--claro:hover { background: var(--bm-claro); color: var(--bm-verde-oscuro); }
.bm .bm-boton--wa { background: var(--bm-wa); border-color: var(--bm-wa); }
.bm .bm-boton--chico { min-height: 44px; padding: 0 18px; font-size: 14px; }
.bm .bm-enlace-fuerte { font-weight: 800; text-decoration: none; font-size: 15px; padding: 10px 8px; }

/* ---------- Header ---------- */
.bm-header { background: var(--bm-fondo); border-bottom: 1px solid var(--bm-borde-2); position: relative; z-index: 50; }
.bm-header__fila { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 64px; padding-right: 12px; }
.bm-header__marca { display: flex; align-items: center; gap: 8px; text-decoration: none; }
.bm-header__isotipo { width: 34px; height: 34px; object-fit: contain; }
.bm-header__wordmark { width: 83px; height: 20px; object-fit: contain; }
.bm-nav, .bm-header__cuenta { display: none; }
.bm .bm-menu-boton {
	width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
	border: 0; border-radius: 12px; background: #fff; color: var(--bm-verde-oscuro); padding: 0; cursor: pointer; box-shadow: none;
}
.bm .bm-menu-boton:hover { background: var(--bm-claro); color: var(--bm-verde-oscuro); }
.bm-header__volver { display: none; }
/* Ficha mobile: "← Directorio" a la izquierda, isotipo al centro */
.bm-header--ficha .bm-header__fila { padding-left: 4px; }
.bm-header--ficha .bm-header__volver {
	display: flex; align-items: center; gap: 4px; height: 44px; padding: 0 10px 0 6px;
	color: var(--bm-verde-oscuro); text-decoration: none; font-weight: 800; font-size: 15px;
}
.bm-header--ficha .bm-header__wordmark { display: none; }
.bm-header--ficha .bm-header__isotipo { width: 30px; height: 30px; }
.bm-menu { border-top: 1px solid var(--bm-borde-2); background: var(--bm-fondo); padding: 8px 0 16px; box-shadow: 0 16px 32px rgba(20, 40, 28, .12); }
.bm-menu[hidden] { display: none !important; }
.bm-menu nav { display: flex; flex-direction: column; gap: 2px; }
.bm-menu a:not(.bm-boton) { display: flex; align-items: center; min-height: 48px; padding: 0 12px; border-radius: 12px; text-decoration: none; font-weight: 800; font-size: 16px; color: var(--bm-texto); }
.bm-menu a[aria-current] { background: var(--bm-chip); color: var(--bm-verde-oscuro); }
.bm-menu .bm-boton { margin-top: 8px; }

/* ---------- Footer ---------- */
.bm-footer { border-top: 1px solid var(--bm-borde-2); padding: 24px 0 32px; font-size: 13px; color: var(--bm-texto-sec); background: var(--bm-fondo); }
.bm-footer__fila { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.bm-footer__marca { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.bm-footer__marca img { width: 75px; height: 18px; object-fit: contain; }
.bm-footer__enlaces { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; }
.bm-footer__enlaces a { padding: 8px 0; }

/* ---------- Comunes ---------- */
.bm-titulo { margin: 0; font-family: var(--bm-t); font-weight: 800; font-size: 24px; line-height: 1.15; color: var(--bm-verde-oscuro); }
.bm-pill { display: inline-block; font-size: 12px; font-weight: 800; color: var(--bm-verde-oscuro); background: var(--bm-chip); padding: 4px 10px; border-radius: 10px; white-space: nowrap; }
.bm-rotulo { font-size: 11px; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; color: var(--bm-texto-sec); }
.bm-rotulo--lima { color: var(--bm-lima); font-size: 12px; letter-spacing: 1.2px; display: flex; align-items: center; gap: 8px; }
.bm-punto { width: 8px; height: 8px; border-radius: 4px; background: var(--bm-lima); }
.bm-badges { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.bm-tipo { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: 6px; font-size: 12px; font-weight: 800; letter-spacing: .3px; background: var(--bm-verde-oscuro); color: #fff; }
.bm-tipo--bio-quimico { background: var(--bm-arena); color: var(--bm-texto); }
.bm-tipo--bio-organico { background: var(--bm-chip); color: var(--bm-verde-oscuro); }
.bm-modalidad { display: inline-flex; align-items: center; gap: 5px; height: 24px; padding: 0 9px; border-radius: 6px; font-size: 12px; font-weight: 700; background: #fff; color: var(--bm-verde-oscuro); border: 1px solid var(--bm-chip-borde); }
.bm-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.bm .bm-chip { display: inline-flex; align-items: center; min-height: 28px; padding: 2px 10px; border-radius: 14px; font-size: 13px; font-weight: 700; line-height: 1.3; background: var(--bm-chip); color: var(--bm-verde-oscuro); text-decoration: none; }
.bm a.bm-chip:hover { background: var(--bm-chip-borde); }
.bm-chip--mas { background: transparent !important; color: var(--bm-texto-sec) !important; border: 1px dashed #C9C1AA; }
.bm-chip--zona { min-height: 32px; padding: 0 12px; border-radius: 16px; border: 1px solid var(--bm-chip-borde); }
.bm-chip--neutro { background: var(--bm-fondo) !important; color: var(--bm-texto) !important; border: 1px solid var(--bm-borde-2); }
.bm-ubic { display: flex; align-items: center; gap: 4px; font-size: 13px; color: var(--bm-texto-sec); }

/* ---------- Logo ---------- */
.bm-logo { width: 84px; height: 56px; flex-shrink: 0; border-radius: 14px; display: flex; align-items: center; justify-content: center; padding: 6px; background: #fff; border: 1px solid var(--bm-borde); }
.bm-logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
.bm-logo--iniciales, .bm-hero__logo--iniciales { background: var(--bm-claro); border-color: #DCE9CC; font-family: var(--bm-t); font-weight: 800; font-size: 15px; color: var(--bm-verde-oscuro); }

/* ---------- Directorio ---------- */
.bm-dir__cab { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
.bm-dir__cab .bm-pill, .bm-dir__sub { display: none; }
.bm-filtros { display: flex; flex-direction: column; gap: 12px; position: relative; }
.bm-js .bm-filtros { z-index: 25; } /* por encima del velo: los botones quedan visibles */
.bm-buscador { position: relative; }
.bm-buscador__ico { position: absolute; left: 16px; top: 15px; color: var(--bm-texto-sec); display: flex; pointer-events: none; }
.bm .bm-buscador input[type="search"] {
	width: 100%; height: 52px; padding: 0 48px; border: 1.5px solid var(--bm-borde-input); border-radius: 26px;
	background: #fff; font-family: var(--bm-c); font-size: 16px; color: var(--bm-texto); box-shadow: none; margin: 0;
	-webkit-appearance: none; appearance: none;
}
.bm .bm-buscador input[type="search"]::-webkit-search-cancel-button { display: none; }
.bm .bm-buscador input[type="search"]:focus { border-color: var(--bm-verde-oscuro); outline: none; box-shadow: 0 0 0 3px rgba(140, 198, 63, .45); }
.bm-buscador__borrar { position: absolute; right: 6px; top: 6px; width: 40px; height: 40px; border-radius: 20px; background: var(--bm-fondo); color: var(--bm-texto-sec) !important; display: flex; align-items: center; justify-content: center; }
.bm-filtros__botones { display: flex; gap: 8px; }
.bm-filtro { flex: 1 1 0; min-width: 0; }
.bm .bm-filtro__boton {
	width: 100%; height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 0 14px;
	border-radius: 12px; background: #fff; color: var(--bm-verde-oscuro); border: 1.5px solid var(--bm-chip-borde);
	font-family: var(--bm-c); font-size: 14px; font-weight: 800; cursor: pointer; box-shadow: none; text-transform: none; letter-spacing: 0;
}
.bm .bm-filtro__boton span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bm .bm-filtro__boton:hover { background: var(--bm-claro); color: var(--bm-verde-oscuro); }
.bm .bm-filtro__boton.is-elegido, .bm .bm-filtro__boton[aria-expanded="true"] { background: var(--bm-verde-oscuro); color: #fff; border-color: var(--bm-verde-oscuro); }
.bm-filtro__boton[aria-expanded="true"] .bm-ico { transform: rotate(180deg); }

/* Panel del filtro (desplegable). Sin JS se ve abierto debajo del botón. */
.bm-panel { margin: 8px 0 0; padding: 16px 12px 12px; border: 1px solid var(--bm-borde); border-radius: var(--bm-r-card); background: #fff; min-width: 0; }
.bm-js .bm-panel { display: none; }
.bm-js .bm-panel.is-abierto {
	display: flex; flex-direction: column; gap: 8px;
	position: absolute; left: 0; right: 0; top: 116px; z-index: 30; margin: 0;
	box-shadow: 0 16px 40px rgba(20, 40, 28, .25); max-height: min(70vh, 620px); overflow: auto;
}
.bm-velo { position: fixed; inset: 0; background: rgba(28, 42, 34, .35); z-index: 20; }
.bm-velo[hidden] { display: none; }
.bm-panel__cab { display: flex; align-items: center; justify-content: space-between; padding: 0 4px 4px 12px; }
.bm-panel__titulo { font-family: var(--bm-t); font-weight: 700; font-size: 16px; color: var(--bm-verde-oscuro); }
.bm .bm-panel__cerrar { width: 40px; height: 40px; border: 0; border-radius: 20px; background: var(--bm-fondo); color: var(--bm-verde-oscuro); display: flex; align-items: center; justify-content: center; padding: 0; cursor: pointer; }
.bm-panel__lista { display: flex; flex-direction: column; gap: 2px; }
.bm-js .bm-panel__lista:not(.is-todo) .is-extra { display: none; }
.bm-opcion { min-height: 48px; display: flex; align-items: center; gap: 12px; padding: 0 12px; border-radius: 12px; font-size: 16px; font-weight: 600; color: var(--bm-texto); cursor: pointer; position: relative; }
.bm-opcion:hover { background: var(--bm-fondo); }
.bm-opcion input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.bm-radio { width: 22px; height: 22px; flex-shrink: 0; border-radius: 11px; border: 2px solid #BDB6A1; display: flex; align-items: center; justify-content: center; }
.bm-opcion input:checked ~ .bm-radio { border-color: var(--bm-verde-oscuro); }
.bm-opcion input:checked ~ .bm-radio::after { content: ""; width: 12px; height: 12px; border-radius: 6px; background: var(--bm-verde-oscuro); }
.bm-opcion:has(input:checked) { background: var(--bm-claro); font-weight: 800; }
.bm-opcion input:focus-visible ~ .bm-radio { outline: 3px solid var(--bm-lima); outline-offset: 2px; }
.bm-opcion__nombre { flex-grow: 1; }
.bm-opcion__n { font-size: 13px; font-weight: 700; color: var(--bm-texto-sec); }
.bm-opcion.is-vacia { opacity: .45; cursor: default; }
.bm .bm-panel__mas { align-self: flex-start; padding: 6px 12px; border: 0; background: none; color: var(--bm-verde-oscuro); font-size: 14px; font-weight: 800; text-decoration: underline; cursor: pointer; }
.bm-panel__grupos { display: flex; flex-direction: column; gap: 12px; }
.bm-panel__grupo { display: flex; flex-direction: column; gap: 2px; }
.bm-panel__grupo-titulo { font-size: 12px; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; color: var(--bm-verde); padding: 4px 12px 6px; }
.bm-panel__pie { display: flex; gap: 8px; padding-top: 8px; border-top: 1px solid var(--bm-divisor); position: sticky; bottom: -12px; background: #fff; padding-bottom: 4px; }
.bm-panel__pie .bm-boton { flex: 1 1 0; min-height: 48px; padding: 0 14px; }
.bm-panel__pie .bm-panel__ver { flex-grow: 1.4; }

.bm-dir__conteo { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 16px 0 12px; font-size: 14px; color: var(--bm-texto-sec); }
.bm-dir__conteo strong { color: var(--bm-texto); font-weight: 800; }

.bm-grilla { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }

/* Tarjeta */
.bm .bm-tarjeta { display: flex; flex-direction: column; gap: 12px; padding: 16px; background: #fff; border-radius: var(--bm-r-card); border: 1px solid var(--bm-borde); text-decoration: none; color: var(--bm-texto); transition: border-color .15s, box-shadow .15s; }
.bm a.bm-tarjeta:hover { color: var(--bm-texto); border-color: var(--bm-chip-borde); box-shadow: 0 8px 24px rgba(20, 40, 28, .08); }
.bm-tarjeta__cab { display: flex; align-items: center; gap: 12px; }
.bm-tarjeta__id { display: flex; flex-direction: column; gap: 3px; flex-grow: 1; min-width: 0; }
.bm .bm-tarjeta__nombre { margin: 0; font-family: var(--bm-t); font-weight: 700; font-size: 17px; line-height: 1.2; color: var(--bm-texto); }
.bm-tarjeta__flecha { color: var(--bm-verde); display: flex; }
.bm-tarjeta__activos { display: flex; flex-direction: column; gap: 6px; }
.bm-tarjeta__zonas { display: flex; align-items: center; gap: 8px; padding-top: 10px; border-top: 1px solid var(--bm-divisor); font-size: 13px; color: var(--bm-texto); margin-top: auto; }
.bm-tarjeta__zonas strong { font-weight: 800; }

/* Paginación */
.bm-paginacion { padding: 24px 0 8px; display: flex; flex-direction: column-reverse; gap: 12px; }
.bm-paginacion__mostrando { text-align: center; font-size: 13px; color: var(--bm-texto-sec); }
.bm-paginacion__controles { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.bm-pag-nums { display: none; }
.bm .bm-pag-ant { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border-radius: 24px; background: #fff; border: 1.5px solid var(--bm-borde-2); color: var(--bm-verde-oscuro); text-decoration: none; }
.bm-pag-ant span { display: none; }
.bm-pag-ant.is-off, .bm-pag-sig.is-off { color: #A9A38F !important; }
.bm-pag-estado { font-size: 15px; color: var(--bm-texto-sec); }
.bm-pag-estado strong { color: var(--bm-texto); font-weight: 800; }
.bm .bm-pag-sig { height: 48px; display: flex; align-items: center; gap: 6px; padding: 0 18px; border-radius: 24px; background: var(--bm-verde-oscuro); color: #fff; text-decoration: none; font-family: var(--bm-t); font-weight: 700; font-size: 15px; }
.bm a.bm-pag-sig:hover { background: var(--bm-cta-hover); color: #fff; }
.bm-pag-sig.is-off { background: #fff; border: 1.5px solid var(--bm-borde-2); }

/* Sin resultados */
.bm-sin { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 32px 24px; background: var(--bm-verde-oscuro); border-radius: var(--bm-r-dest); text-align: center; color: #E2EEDD; }
.bm-sin p { margin: 0; font-size: 15px; line-height: 1.55; }
.bm-sin__ico { width: 84px; height: 84px; border-radius: 42px; background: rgba(255, 255, 255, .08); display: flex; align-items: center; justify-content: center; }
.bm .bm-sin__titulo { margin: 0; font-family: var(--bm-t); font-weight: 800; font-size: 22px; line-height: 1.25; color: #fff; }
.bm-sin__frecuentes { display: flex; flex-direction: column; gap: 10px; align-self: stretch; align-items: center; }
.bm-sin__chips { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; }
.bm .bm-sin__chips a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: 18px; background: rgba(255, 255, 255, .12); color: #fff; text-decoration: none; font-size: 14px; font-weight: 700; }
.bm .bm-sin__chips a:hover { background: rgba(255, 255, 255, .22); color: #fff; }

/* Directorio bloqueado */
.bm-bloqueado { position: relative; }
.bm-bloqueado__muestra .bm-tarjeta { pointer-events: none; }
.bm-bloqueado__muestra .is-difuminada { filter: blur(5px); opacity: .7; }
.bm-bloqueado__cta, .bm-candado {
	display: flex; flex-direction: column; align-items: center; gap: 12px; margin-top: 16px; padding: 28px 22px;
	background: var(--bm-verde-oscuro); border-radius: var(--bm-r-dest); text-align: center; color: #E2EEDD;
}
.bm .bm-bloqueado__cta h2, .bm .bm-candado h2 { margin: 0; font-family: var(--bm-t); font-weight: 800; font-size: 22px; line-height: 1.25; color: #fff; }
.bm-bloqueado__cta p, .bm-candado p { margin: 0; font-size: 15px; line-height: 1.55; max-width: 56ch; }
.bm .bm-bloqueado__cta a:not(.bm-boton), .bm .bm-candado a:not(.bm-boton) { color: var(--bm-lima); font-weight: 800; }
.bm-bloqueado__candado, .bm-candado__ico { width: 56px; height: 56px; border-radius: 28px; background: rgba(255, 255, 255, .1); color: var(--bm-lima); display: flex; align-items: center; justify-content: center; }
.bm-candado__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; text-align: left; font-size: 15px; }
.bm-candado__lista li { display: flex; gap: 8px; align-items: flex-start; }
.bm-candado__lista .bm-ico { color: var(--bm-lima); margin-top: 3px; }

/* ---------- Ficha ---------- */
.bm-ruta { display: none; }
.bm-hero { display: flex; flex-direction: column; gap: 16px; padding: 20px; background: #fff; border-radius: var(--bm-r-dest); border: 1px solid var(--bm-borde); }
.bm-hero__logo { height: 96px; display: flex; align-items: center; justify-content: flex-start; padding: 8px 4px; border-bottom: 1px solid var(--bm-divisor); }
.bm-hero__logo img { height: 72px; width: auto; max-width: 220px; object-fit: contain; }
.bm-hero__logo--iniciales { width: 96px; border-radius: 18px; justify-content: center; font-size: 26px; border: 1px solid #DCE9CC; }
.bm-hero__datos { display: flex; flex-direction: column; gap: 16px; }
.bm-hero__titulos { display: flex; flex-direction: column; gap: 4px; }
.bm .bm-hero h1 { margin: 0; font-family: var(--bm-t); font-weight: 800; font-size: 26px; line-height: 1.1; color: var(--bm-texto); }
.bm-hero__completo { font-size: 14px; line-height: 1.35; color: var(--bm-texto-sec); }
.bm-hero__ubic { display: inline-flex; align-items: center; gap: 6px; font-size: 15px; color: var(--bm-texto); padding-left: 8px; }
.bm-datos { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.bm .bm-datos a { color: inherit; text-decoration: none; }
.bm-datos li { display: flex; align-items: center; gap: 10px; min-width: 0; overflow-wrap: anywhere; }
.bm-acciones { display: flex; flex-direction: column; gap: 10px; }
.bm-acciones__fila { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bm-acciones .bm-boton { width: 100%; }
.bm-ficha__cuerpo { display: flex; flex-direction: column; gap: 16px; margin-top: 16px; }
.bm-ficha__principal, .bm-ficha__lateral { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.bm-par { display: flex; flex-direction: column; gap: 16px; }
/* Mobile: en el lateral, Contacto va al final */
.bm-ficha__lateral .bm-contacto { order: 3; }

.bm-dato { display: flex; flex-direction: column; gap: 12px; padding: 24px 22px; background: var(--bm-verde-oscuro); border-radius: var(--bm-r-dest); }
.bm-dato__cab { display: flex; flex-direction: column; gap: 12px; }
.bm-dato__cuerpo { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.bm-dato__titular { font-family: var(--bm-t); font-weight: 800; font-size: 30px; line-height: 1.1; color: #fff; }
.bm .bm-dato p { margin: 0; font-size: 15px; line-height: 1.6; color: #E2EEDD; }
.bm .bm-dato .bm-leer-mas { color: var(--bm-lima); }

.bm-seccion { display: flex; flex-direction: column; gap: 12px; padding: 20px; background: #fff; border-radius: var(--bm-r-card); border: 1px solid var(--bm-borde); min-width: 0; }
.bm .bm-seccion__titulo { margin: 0; display: flex; align-items: center; gap: 10px; font-family: var(--bm-t); font-weight: 700; font-size: 17px; line-height: 1.25; color: var(--bm-verde-oscuro); }
.bm-agro { width: 30px; height: 30px; object-fit: contain; flex-shrink: 0; }
.bm .bm-seccion p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--bm-texto); overflow-wrap: anywhere; }
.bm .bm-seccion p.bm-texto-sec { font-size: 14px; line-height: 1.55; color: var(--bm-texto-sec); }
.bm-recorte { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden; }
.bm-recorte.is-abierto { display: block; -webkit-line-clamp: unset; }
.bm .bm-leer-mas { align-self: flex-start; padding: 6px 0; border: 0; background: none; color: var(--bm-verde-oscuro); font-family: var(--bm-c); font-size: 14px; font-weight: 800; text-decoration: underline; cursor: pointer; box-shadow: none; min-height: 32px; }
.bm-productos { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.bm-productos li { display: flex; flex-direction: column; gap: 2px; padding: 12px 0; border-top: 1px solid var(--bm-divisor); }
.bm-productos li:first-child { border-top: 0; padding-top: 0; }
.bm-productos__nombre { font-size: 15px; font-weight: 800; color: var(--bm-texto); }
.bm-productos__desc { font-size: 14px; line-height: 1.5; color: var(--bm-texto-sec); }
.bm-cultivos { display: flex; gap: 8px; flex-wrap: wrap; }
.bm-cultivo { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px 0 8px; border-radius: 20px; background: var(--bm-fondo); border: 1px solid var(--bm-borde-2); font-size: 14px; font-weight: 700; }
.bm-cultivo .bm-agro { width: 26px; height: 26px; }
.bm-contacto__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.bm-contacto__lista a, .bm-contacto__dir { display: flex; align-items: center; gap: 10px; text-decoration: none; font-weight: 700; min-height: 32px; overflow-wrap: anywhere; }
.bm-contacto__dir { font-weight: 400; color: var(--bm-texto); }
.bm-circulo { color: var(--bm-verde); display: inline-flex; flex-shrink: 0; }
.bm .bm-volver { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; margin-top: 16px; color: var(--bm-verde-oscuro); text-decoration: none; font-weight: 800; font-size: 15px; }

/* ---------- Escritorio ---------- */
@media (min-width: 1024px) {
	.bm-solo-desk { display: revert !important; }
	.bm-solo-mobile { display: none !important; }
	.bm-contenedor { padding: 0 24px; max-width: calc(var(--bm-ancho) + 48px); }
	.bm-pagina { padding: 40px 0 48px; }

	.bm-header__fila { height: 76px; padding-right: 24px; }
	.bm-header__isotipo, .bm-header--ficha .bm-header__isotipo { width: 40px; height: 40px; }
	.bm-header__wordmark, .bm-header--ficha .bm-header__wordmark { display: block; width: 100px; height: 24px; }
	.bm-header--ficha .bm-header__fila { padding-left: 24px; }
	.bm-header--ficha .bm-header__volver { display: none; }
	.bm-nav { display: flex; gap: 4px; }
	.bm-nav a { height: 44px; display: flex; align-items: center; padding: 0 16px; border-radius: 22px; text-decoration: none; font-weight: 800; font-size: 15px; color: var(--bm-texto); }
	.bm-nav a:hover { background: rgba(228, 240, 214, .6); color: var(--bm-verde-oscuro); }
	.bm-nav a.is-activo { background: var(--bm-chip); color: var(--bm-verde-oscuro); }
	.bm-header__cuenta { display: flex; align-items: center; gap: 8px; }
	.bm .bm-cuenta { height: 44px; display: flex; align-items: center; gap: 10px; padding: 0 16px 0 6px; border-radius: 22px; background: #fff; border: 1px solid var(--bm-borde-2); text-decoration: none; color: var(--bm-texto); font-weight: 700; font-size: 14px; }
	.bm-avatar { width: 32px; height: 32px; border-radius: 16px; background: var(--bm-verde-oscuro); color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--bm-t); font-weight: 700; font-size: 13px; }
	.bm-menu-boton, .bm-menu { display: none !important; }

	.bm-footer { padding: 32px 0; font-size: 14px; }
	.bm-footer__fila { flex-direction: row; justify-content: space-between; text-align: left; }
	.bm-footer__marca { flex-direction: row; gap: 16px; }
	.bm-footer__marca img { width: 83px; height: 20px; }
	.bm-footer__enlaces { gap: 24px; }

	/* Directorio */
	.bm-titulo { font-size: 36px; }
	.bm-dir__cab { flex-direction: row; align-items: flex-end; justify-content: space-between; margin-bottom: 20px; }
	.bm-dir__cab .bm-pill { display: inline-block; font-size: 13px; padding: 6px 12px; border-radius: 12px; }
	.bm-dir__sub { display: block; margin: 6px 0 0; font-size: 16px; color: var(--bm-texto-sec); }
	.bm-dir__sub strong { color: var(--bm-texto); font-weight: 800; }
	.bm-filtros { flex-direction: row; align-items: center; }
	.bm-buscador { flex-grow: 1; }
	.bm .bm-buscador input[type="search"] { height: 56px; border-radius: 28px; padding: 0 52px; }
	.bm-buscador__ico { left: 18px; top: 17px; }
	.bm-buscador__borrar { top: 8px; right: 8px; }
	.bm-filtros__botones { gap: 12px; }
	.bm-filtro { flex: 0 0 240px; }
	.bm .bm-filtro__boton { height: 56px; border-radius: 16px; padding: 0 18px; font-size: 15px; }
	.bm-js .bm-panel.is-abierto { left: auto; right: 0; top: 68px; width: 1000px; max-width: 100%; padding: 22px; gap: 14px; border-radius: 20px; box-shadow: 0 20px 48px rgba(20, 40, 28, .22); max-height: none; overflow: visible; }
	.bm-panel__cab { padding: 0; }
	.bm-panel__titulo { font-size: 17px; }
	.bm-panel__grupos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
	.bm-panel__lista { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px 12px; }
	.bm-js .bm-panel__lista .is-extra { display: flex !important; }
	.bm-panel__mas { display: none !important; }
	.bm-panel__grupo .bm-opcion, .bm-panel__lista .bm-opcion { min-height: 40px; padding: 0 10px; font-size: 15px; gap: 10px; border-radius: 10px; }
	.bm-panel__grupo .bm-radio, .bm-panel__lista .bm-radio { width: 18px; height: 18px; border-radius: 9px; }
	.bm-panel__grupo .bm-opcion input:checked ~ .bm-radio::after, .bm-panel__lista .bm-opcion input:checked ~ .bm-radio::after { width: 8px; height: 8px; }
	.bm-panel__grupo-titulo { padding: 0 10px 6px; }
	.bm-panel__pie { justify-content: flex-end; padding-top: 12px; position: static; }
	.bm-panel__pie .bm-boton { flex: 0 0 auto; padding: 0 24px; }
	.bm-velo { display: none !important; }
	.bm-dir__conteo { padding: 8px 0 16px; }

	.bm-grilla { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }

	.bm-paginacion { flex-direction: row; align-items: center; justify-content: space-between; padding: 36px 0 0; }
	.bm-paginacion__mostrando { font-size: 15px; }
	.bm-paginacion__controles { gap: 6px; }
	.bm-pag-estado { display: none; }
	.bm-pag-nums { display: flex; align-items: center; gap: 6px; }
	.bm .bm-pag-num { min-width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 22px; text-decoration: none; font-weight: 800; font-size: 15px; color: var(--bm-texto); }
	.bm .bm-pag-num:hover { background: var(--bm-chip); }
	.bm .bm-pag-num.is-actual { background: var(--bm-verde-oscuro); color: #fff; }
	.bm-pag-gap { padding: 0 6px; color: var(--bm-texto-sec); }
	.bm .bm-pag-ant, .bm .bm-pag-sig { width: auto; height: 44px; gap: 4px; padding: 0 16px; border: 0; border-radius: 22px; background: none; color: var(--bm-verde-oscuro); font-family: var(--bm-c); font-weight: 800; font-size: 15px; }
	.bm-pag-ant span { display: inline; }
	.bm a.bm-pag-sig:hover, .bm a.bm-pag-ant:hover { background: var(--bm-chip); color: var(--bm-verde-oscuro); }

	.bm-sin { padding: 48px; max-width: 720px; margin: 0 auto; }
	.bm-bloqueado__cta { padding: 40px; }

	/* Ficha */
	.bm-pagina.bm-ficha { padding-top: 28px; padding-bottom: 64px; }
	.bm-ruta { display: flex; align-items: center; gap: 8px; font-size: 15px; margin-bottom: 24px; color: var(--bm-texto-sec); }
	.bm .bm-ruta a { display: flex; align-items: center; gap: 4px; font-weight: 800; text-decoration: none; }
	.bm-hero { flex-direction: row; align-items: center; gap: 36px; padding: 32px 36px; border-radius: 24px; }
	.bm-hero__logo { width: 280px; height: 110px; flex-shrink: 0; justify-content: center; padding: 10px; border-bottom: 0; border-right: 1px solid var(--bm-divisor); }
	.bm-hero__logo img { width: 100%; height: 100%; max-width: none; }
	.bm-hero__logo--iniciales { width: 110px; height: 110px; font-size: 34px; border-right: 1px solid #DCE9CC; }
	.bm-hero__datos { gap: 10px; flex-grow: 1; }
	.bm .bm-hero h1 { font-size: 40px; line-height: 1.05; }
	.bm-hero__completo { font-size: 17px; }
	.bm-hero__badges { gap: 8px; }
	.bm-ficha__cuerpo { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 24px; align-items: start; margin-top: 24px; }
	.bm-ficha__cuerpo--publica { grid-template-columns: minmax(0, 1fr); }
	.bm-ficha__principal, .bm-ficha__lateral { gap: 20px; }
	.bm-ficha__lateral { position: sticky; top: 24px; }
	.admin-bar .bm-ficha__lateral { top: 56px; }
	.bm-ficha__lateral .bm-contacto { order: 0; }
	.bm-par { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
	.bm-dato { flex-direction: row; align-items: center; gap: 36px; padding: 32px 36px; border-radius: 24px; }
	.bm-dato__cab { flex-shrink: 0; width: 280px; gap: 10px; }
	.bm-dato__titular { font-size: 38px; line-height: 1.05; }
	.bm-dato--sin-titular { flex-direction: column; align-items: flex-start; gap: 12px; }
	.bm-dato--sin-titular .bm-dato__cab { width: auto; }
	.bm .bm-dato p { font-size: 16px; line-height: 1.65; }
	.bm-seccion { gap: 14px; padding: 28px; border-radius: 20px; }
	.bm .bm-seccion__titulo { font-size: 20px; gap: 12px; }
	.bm-agro { width: 34px; height: 34px; }
	.bm .bm-seccion p { font-size: 16px; line-height: 1.65; }
	.bm-recorte { -webkit-line-clamp: 8; }
	.bm-productos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.bm-productos li, .bm-productos li:first-child { gap: 4px; padding: 16px; background: var(--bm-fondo); border-radius: 14px; border: 0; }
	.bm-productos__nombre { font-size: 16px; }
	.bm-cultivos { gap: 10px; }
	.bm-cultivo { height: 44px; padding: 0 16px 0 8px; border-radius: 22px; font-size: 15px; }
	.bm-cultivo .bm-agro { width: 28px; height: 28px; }
	.bm-contacto { gap: 16px; padding: 26px; }
	.bm-contacto__lista { gap: 14px; }
	.bm-circulo { width: 40px; height: 40px; border-radius: 20px; background: var(--bm-claro); color: var(--bm-verde-oscuro); align-items: center; justify-content: center; }
	.bm-acciones__fila .bm-boton, .bm-contacto .bm-boton { min-height: 50px; }
	.bm .bm-volver { display: none; }
	.bm-candado { padding: 40px; }
}

@media (prefers-reduced-motion: reduce) {
	.bm * { transition: none !important; }
}

/* =====================================================================
   Landing (portada) y páginas públicas por activo / zona / cultivo
   ===================================================================== */
.bm .bm-boton--grande { min-height: 54px; padding: 0 26px; font-size: 16px; }
.bm-sobretitulo { font-size: 13px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; color: var(--bm-verde); }
.bm-sobretitulo--lima { color: var(--bm-lima); }
.bm-landing { padding-bottom: 24px; }
.bm-l-seccion { padding-top: 0; padding-bottom: 56px; display: flex; flex-direction: column; gap: 22px; scroll-margin-top: 16px; }
.bm-l-cab { display: flex; flex-direction: column; gap: 8px; }
.bm .bm-l-h2 { margin: 0; font-family: var(--bm-t); font-weight: 800; font-size: 26px; line-height: 1.15; color: var(--bm-verde-oscuro); }

/* Hero */
.bm-l-hero { display: flex; flex-direction: column; gap: 32px; padding-top: 32px; padding-bottom: 56px; }
.bm-l-hero__texto { display: flex; flex-direction: column; gap: 18px; }
.bm .bm-l-hero h1 { margin: 0; font-family: var(--bm-t); font-weight: 800; font-size: 32px; line-height: 1.1; color: var(--bm-verde-oscuro); }
.bm-l-hero__bajada { margin: 0; font-size: 17px; line-height: 1.55; color: var(--bm-texto-sec); max-width: 600px; }
.bm-l-hero__ctas { display: flex; flex-direction: column; gap: 12px; }
.bm-l-cifras { display: flex; gap: 18px; margin: 4px 0 0; padding: 0; }
.bm-l-cifras > div { display: flex; flex-direction: column; padding-right: 18px; border-right: 1px solid var(--bm-borde-2); }
.bm-l-cifras > div:last-child { border-right: 0; padding-right: 0; }
.bm-l-cifras dt { font-family: var(--bm-t); font-weight: 800; font-size: 24px; color: var(--bm-verde-oscuro); }
.bm-l-cifras dd { margin: 0; font-size: 13px; line-height: 1.35; color: var(--bm-texto-sec); }
.bm-l-vista { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 16px; background: var(--bm-verde-oscuro); border-radius: 24px; overflow: hidden; }
.bm-l-vista__buscar { height: 44px; border-radius: 22px; background: #fff; display: flex; align-items: center; gap: 8px; padding: 0 14px; color: var(--bm-texto-sec); font-size: 14px; }
.bm-l-vista__filtros { display: flex; gap: 8px; }
.bm-l-vista__filtros span { flex: 1 1 0; height: 38px; border-radius: 10px; background: #fff; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; font-size: 13px; font-weight: 800; color: var(--bm-verde-oscuro); }
.bm-l-mini { display: flex; flex-direction: column; gap: 10px; padding: 16px; background: #fff; border-radius: var(--bm-r-card); border: 1px solid var(--bm-borde); }
.bm-l-mini__nombre { font-family: var(--bm-t); font-weight: 700; font-size: 16px; }
.bm-l-mini__zonas { font-size: 13px; }
.bm-l-mini.is-difuminada { filter: blur(3px); opacity: .7; }
.bm-l-vista__velo { position: absolute; left: 16px; right: 16px; bottom: 16px; height: 120px; border-radius: var(--bm-r-card); background: linear-gradient(rgba(28, 90, 52, 0), rgba(28, 90, 52, .96) 55%); display: flex; align-items: flex-end; justify-content: center; gap: 8px; padding-bottom: 14px; color: #fff; font-weight: 800; font-size: 14px; }

/* Qué trae cada ficha */
.bm .bm-l-h2--chico { font-size: 22px; }
.bm-l-incluye { list-style: none; margin: 0; padding: 0; display: flex; gap: 10px; flex-wrap: wrap; }
.bm-l-incluye li { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 14px; border-radius: 18px; background: #fff; border: 1px solid var(--bm-borde); font-size: 14px; font-weight: 700; }

/* Pasos */
.bm-l-pasos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.bm-l-paso { display: flex; flex-direction: column; gap: 12px; padding: 22px; background: #fff; border-radius: var(--bm-r-dest); border: 1px solid var(--bm-borde); }
.bm-l-paso__cab { display: flex; align-items: center; justify-content: space-between; }
.bm-l-paso__num { width: 40px; height: 40px; border-radius: 20px; background: var(--bm-verde-oscuro); color: #fff; display: flex; align-items: center; justify-content: center; font-family: var(--bm-t); font-weight: 800; font-size: 16px; }
.bm-l-paso .bm-agro, .bm-l-perfil .bm-agro { width: 48px; height: 48px; }
.bm .bm-l-paso h3, .bm .bm-l-perfil h3 { margin: 0; font-family: var(--bm-t); font-weight: 800; font-size: 19px; color: var(--bm-verde-oscuro); }
.bm .bm-l-paso p, .bm .bm-l-perfil p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--bm-texto-sec); }

/* Para quién es */
.bm-l-perfiles { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.bm-l-perfil { display: flex; gap: 16px; padding: 22px; background: #fff; border-radius: var(--bm-r-dest); border: 1px solid var(--bm-borde); }
.bm-l-perfil > div { display: flex; flex-direction: column; gap: 6px; }

/* Beneficios (card oscura) */
.bm-l-beneficios { display: flex; flex-direction: column; gap: 28px; padding: 32px 24px; background: var(--bm-verde-oscuro); border-radius: 28px; }
.bm-l-beneficios__intro { display: flex; flex-direction: column; gap: 14px; }
.bm .bm-l-beneficios h2 { margin: 0; font-family: var(--bm-t); font-weight: 800; font-size: 28px; line-height: 1.15; color: #fff; }
.bm .bm-l-beneficios p { margin: 0; font-size: 16px; line-height: 1.6; color: #D5E5D0; }
.bm-l-beneficios__lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
.bm-l-beneficios__lista li { display: flex; gap: 12px; align-items: flex-start; }
.bm-l-beneficios__lista strong { display: block; font-family: var(--bm-t); font-weight: 700; font-size: 17px; color: #fff; margin-bottom: 4px; }
.bm-l-beneficios__lista span:not(.bm-l-check) { font-size: 15px; line-height: 1.5; color: #D5E5D0; }
.bm-l-check { width: 32px; height: 32px; flex-shrink: 0; border-radius: 16px; background: rgba(140, 198, 63, .18); color: var(--bm-lima); display: flex; align-items: center; justify-content: center; }

/* Explorá */
.bm-l-explorar { display: flex; flex-direction: column; gap: 12px; }
.bm .bm-l-explorar h3 { margin: 8px 0 0; font-size: 15px; font-weight: 800; font-family: var(--bm-c); color: var(--bm-texto); }
.bm-l-enlaces { display: flex; gap: 10px; flex-wrap: wrap; }
.bm .bm-l-enlaces a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 20px; font-size: 14px; font-weight: 700; background: #fff; color: var(--bm-verde-oscuro); border: 1px solid var(--bm-chip-borde); text-decoration: none; }
.bm .bm-l-enlaces a:hover { background: var(--bm-chip); }

/* Precio */
.bm-l-precio__texto { display: flex; flex-direction: column; gap: 14px; }
.bm .bm-l-precio__texto p { margin: 0; font-size: 17px; line-height: 1.6; color: var(--bm-texto-sec); }
.bm-l-precio__card { display: flex; flex-direction: column; gap: 18px; padding: 32px 24px; background: var(--bm-verde-oscuro); border-radius: 28px; }
.bm-l-precio__monto { font-size: 18px; color: #D5E5D0; }
.bm-l-precio__monto span { font-family: var(--bm-t); font-weight: 800; font-size: 48px; color: #fff; }
.bm-l-precio__nota { font-size: 15px; color: #D5E5D0; }
.bm-l-precio__card ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.bm-l-precio__card li { display: flex; gap: 10px; align-items: flex-start; font-size: 16px; color: #fff; }
.bm-l-precio__card li .bm-ico { color: var(--bm-lima); margin-top: 3px; }
.bm-l-precio__card .bm-boton { width: 100%; }

/* FAQ */
.bm-l-faq__lista { display: flex; flex-direction: column; gap: 10px; }
.bm-faq { background: #fff; border-radius: 16px; border: 1px solid var(--bm-borde); }
.bm-faq[open] { border-color: var(--bm-chip-borde); }
.bm-faq summary { list-style: none; min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; cursor: pointer; font-family: var(--bm-t); font-weight: 700; font-size: 16px; line-height: 1.3; color: var(--bm-texto); }
.bm-faq summary::-webkit-details-marker { display: none; }
.bm-faq summary .bm-ico { color: var(--bm-verde-oscuro); transition: transform .15s; }
.bm-faq[open] summary .bm-ico { transform: rotate(180deg); }
.bm .bm-faq p { margin: 0; padding: 0 20px 20px; font-size: 15px; line-height: 1.6; color: var(--bm-texto-sec); }

/* ¿Tenés dudas? */
.bm-l-dudas { display: flex; flex-direction: column; gap: 20px; padding: 28px 24px; background: #fff; border-radius: 28px; border: 1.5px solid var(--bm-chip-borde); }
.bm-l-dudas__texto { display: flex; gap: 16px; align-items: center; }
.bm-l-dudas__texto .bm-agro { width: 64px; height: 64px; }
.bm .bm-l-dudas h2 { margin: 0 0 4px; font-family: var(--bm-t); font-weight: 800; font-size: 22px; color: var(--bm-verde-oscuro); }
.bm .bm-l-dudas p { margin: 0; font-size: 15px; color: var(--bm-texto-sec); }

/* WhatsApp flotante */
.bm .bm-wa-flotante { position: fixed; right: 16px; bottom: 16px; z-index: 40; width: 56px; height: 56px; border-radius: 28px; background: var(--bm-wa); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 24px rgba(20, 40, 28, .3); }
.bm .bm-wa-flotante:hover { color: #fff; background: #19663A; }

/* Footer completo */
.bm-footer__grilla { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }
.bm-footer__marca--col { flex-direction: column; align-items: flex-start; text-align: left; }
.bm-footer--completo .bm-footer__marca img { width: 100px; height: 24px; }
.bm .bm-footer--completo p { margin: 0; font-size: 14px; line-height: 1.55; max-width: 300px; }
.bm-footer--completo nav { display: flex; flex-direction: column; gap: 6px; }
.bm .bm-footer--completo h2 { margin: 0 0 4px; font-family: var(--bm-t); font-weight: 700; font-size: 15px; color: var(--bm-verde-oscuro); }
.bm .bm-footer--completo nav a { font-size: 14px; color: var(--bm-texto-sec); padding: 4px 0; }

/* Página pública (L3) */
.bm .bm-ruta--visible { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; color: var(--bm-texto-sec); margin-bottom: 16px; }
.bm .bm-ruta--visible a { font-weight: 800; text-decoration: none; }
.bm-seo__grilla { display: flex; flex-direction: column; gap: 20px; }
.bm-seo__principal, .bm-seo__lateral { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.bm-seo__cab { display: flex; gap: 20px; align-items: center; justify-content: space-between; padding: 24px; background: var(--bm-verde-oscuro); border-radius: 24px; }
.bm-seo__cab > div { display: flex; flex-direction: column; gap: 12px; }
.bm .bm-seo__cab h1 { margin: 0; font-family: var(--bm-t); font-weight: 800; font-size: 28px; line-height: 1.12; color: #fff; }
.bm .bm-seo__cab p { margin: 0; font-size: 16px; line-height: 1.6; color: #D5E5D0; }
.bm-seo__cab .bm-agro { width: 72px; height: 72px; display: none; }
.bm .bm-seo__editorial p { margin: 0 0 10px; }
.bm-seo__lista-cab { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.bm .bm-seo__lista-cab h2 { margin: 0; font-family: var(--bm-t); font-weight: 800; font-size: 21px; color: var(--bm-verde-oscuro); }
.bm-seo__lista-cab span { font-size: 14px; color: var(--bm-texto-sec); }
.bm-seo__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.bm-seo__item { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 14px 16px; background: #fff; border-radius: 16px; border: 1px solid var(--bm-borde); }
.bm-seo__item .bm-logo { height: 52px; border-radius: 12px; }
.bm-seo__item-datos { display: flex; flex-direction: column; gap: 3px; flex: 1 1 160px; min-width: 0; }
.bm .bm-seo__item h3 { margin: 0; font-family: var(--bm-t); font-weight: 700; font-size: 17px; }
.bm .bm-seo__item h3 a { color: var(--bm-texto); text-decoration: none; }
.bm-seo__item-meta { display: flex; gap: 8px; flex-wrap: wrap; font-size: 14px; color: var(--bm-texto-sec); }
.bm .bm-seo__ver { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: 14px; font-weight: 800; text-decoration: none; }
.bm-seo__pag { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; font-size: 15px; color: var(--bm-texto-sec); }
.bm .bm-seo__pag a { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; font-weight: 800; text-decoration: none; }
.bm-seo__cta { display: flex; flex-direction: column; gap: 16px; padding: 24px; background: #fff; border-radius: var(--bm-r-dest); border: 1.5px solid var(--bm-verde-oscuro); }
.bm-seo__cta strong { display: block; font-family: var(--bm-t); font-weight: 800; font-size: 20px; color: var(--bm-verde-oscuro); }
.bm-seo__cta span { font-size: 15px; color: var(--bm-texto-sec); }
.bm-seo__enlaces { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.bm .bm-seo__enlaces a { display: inline-flex; min-height: 32px; align-items: center; font-size: 15px; font-weight: 700; text-decoration: none; }
.bm-seo__wa { display: flex; flex-direction: column; gap: 14px; padding: 24px; background: var(--bm-verde-oscuro); border-radius: 20px; }
.bm-seo__wa strong { font-family: var(--bm-t); font-weight: 700; font-size: 17px; color: #fff; }

@media (min-width: 640px) {
	.bm-l-hero__ctas { flex-direction: row; flex-wrap: wrap; }
	.bm-l-pasos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bm-l-perfiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bm-l-beneficios__lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bm-footer__grilla { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.bm-footer__marca--col { grid-column: 1 / -1; }
	.bm-seo__cab .bm-agro { display: block; }
}

@media (min-width: 1024px) {
	.bm-l-seccion { padding-bottom: 96px; gap: 32px; }
	.bm .bm-l-h2 { font-size: 38px; }
	.bm .bm-l-h2--chico { font-size: 30px; }
	.bm-l-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) 470px; gap: 72px; align-items: center; padding-top: 72px; padding-bottom: 88px; }
	.bm-l-hero__texto { gap: 26px; }
	.bm .bm-l-hero h1 { font-size: 54px; line-height: 1.08; }
	.bm-l-hero__bajada { font-size: 20px; }
	.bm-l-cifras { gap: 28px; padding-top: 10px; }
	.bm-l-cifras > div { padding-right: 28px; }
	.bm-l-cifras dt { font-size: 30px; }
	.bm-l-cifras dd { font-size: 14px; }
	.bm-l-vista { padding: 20px; border-radius: 28px; }
	.bm-l-vista__velo { left: 20px; right: 20px; bottom: 20px; }
	.bm-l-ficha { padding-bottom: 88px; }
	.bm-l-pasos { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
	.bm-l-paso { padding: 28px; gap: 14px; }
	.bm .bm-l-paso h3 { font-size: 20px; }
	.bm-l-perfiles { gap: 20px; }
	.bm-l-perfil { padding: 26px; gap: 18px; }
	.bm-l-perfil .bm-agro { width: 60px; height: 60px; }
	.bm-l-beneficios { display: grid; grid-template-columns: 380px minmax(0, 1fr); gap: 56px; padding: 56px; border-radius: 32px; }
	.bm .bm-l-beneficios h2 { font-size: 36px; }
	.bm-l-beneficios__lista { gap: 28px 32px; }
	.bm .bm-l-h2.bm-l-h2 { line-height: 1.12; }
	.bm-l-precio { display: grid; grid-template-columns: minmax(0, 1fr) 480px; gap: 64px; align-items: center; }
	.bm .bm-l-precio .bm-l-h2 { font-size: 40px; }
	.bm .bm-l-precio__texto p { font-size: 18px; }
	.bm-l-precio__card { padding: 40px; gap: 22px; }
	.bm-l-precio__monto span { font-size: 56px; }
	.bm-l-faq { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 56px; align-items: start; }
	.bm .bm-l-faq .bm-l-h2 { font-size: 36px; }
	.bm-faq summary { padding: 16px 22px; font-size: 17px; }
	.bm .bm-faq p { padding: 0 22px 20px; }
	.bm-l-dudas { flex-direction: row; align-items: center; justify-content: space-between; padding: 44px 56px; }
	.bm-l-dudas__texto .bm-agro { width: 72px; height: 72px; }
	.bm .bm-l-dudas h2 { font-size: 30px; }
	.bm .bm-wa-flotante { right: 32px; bottom: 32px; width: 60px; height: 60px; border-radius: 30px; }

	.bm-footer--completo { padding: 48px 0; }
	.bm-footer__grilla { grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr)); gap: 28px; }
	.bm-footer__marca--col { grid-column: auto; }

	.bm-pagina.bm-seo { padding-top: 28px; padding-bottom: 80px; }
	.bm-seo__grilla { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 32px; align-items: start; }
	.bm-seo__cab { gap: 28px; padding: 36px; border-radius: 28px; }
	.bm .bm-seo__cab h1 { font-size: 42px; line-height: 1.1; }
	.bm .bm-seo__cab p { font-size: 17px; }
	.bm-seo__cab .bm-agro { width: 120px; height: 120px; }
	.bm .bm-seo__lista-cab h2 { font-size: 24px; }
	.bm-seo__item { flex-wrap: nowrap; padding: 14px 18px; gap: 16px; }
	.bm-seo__cta { flex-direction: row; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 32px; }
	.bm-seo__lateral { position: sticky; top: 24px; }
}

/* =====================================================================
   Suscripción, ingresar y mi cuenta
   ===================================================================== */
.bm .bm-boton--ancho { width: 100%; }
.bm-alta__grilla { display: flex; flex-direction: column; gap: 8px; }
.bm-alta__form { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.bm .bm-alta__titulo { margin: 0; font-family: var(--bm-t); font-weight: 800; font-size: 26px; line-height: 1.15; color: var(--bm-verde-oscuro); }
.bm .bm-alta__bajada { margin: 0; font-size: 16px; line-height: 1.5; color: var(--bm-texto-sec); }
.bm .bm-alta__pie { margin: 0; text-align: center; font-size: 15px; color: var(--bm-texto-sec); }
.bm .bm-alta__pie a { font-weight: 800; }
.bm .bm-alta__nota { margin: 0; display: flex; align-items: center; justify-content: center; gap: 6px; font-size: 13px; color: var(--bm-texto-sec); text-align: center; }

/* Stepper (mobile: horizontal) */
.bm-stepper { list-style: none; margin: 0; padding: 0 8px 8px; display: flex; align-items: flex-start; }
.bm-stepper li { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 6px; position: relative; font-size: 12px; font-weight: 600; color: var(--bm-texto-sec); text-align: center; }
.bm-stepper li + li::before { content: ""; position: absolute; top: 13px; right: calc(50% + 18px); width: calc(100% - 36px); height: 2px; background: var(--bm-borde-2); border-radius: 1px; }
.bm-stepper li.is-hecho + li::before { background: var(--bm-verde-oscuro); }
.bm-stepper__num { width: 28px; height: 28px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-family: var(--bm-t); font-weight: 700; font-size: 13px; background: #fff; color: var(--bm-texto-sec); border: 1.5px solid var(--bm-borde-2); position: relative; z-index: 1; }
.bm-stepper .is-actual .bm-stepper__num, .bm-stepper .is-hecho .bm-stepper__num { background: var(--bm-verde-oscuro); color: #fff; border-color: var(--bm-verde-oscuro); }
.bm-stepper .is-actual, .bm-stepper .is-hecho { color: var(--bm-verde-oscuro); font-weight: 800; }

/* Campos */
.bm-formulario { display: flex; flex-direction: column; gap: 18px; }
.bm-campos-grilla { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
.bm-campo { display: flex; flex-direction: column; gap: 6px; min-width: 0; border: 0; padding: 0; margin: 0; }
.bm-campo label, .bm-campo legend { font-size: 14px; font-weight: 700; color: var(--bm-texto); padding: 0; }
.bm .bm-campo input[type="text"], .bm .bm-campo input[type="email"], .bm .bm-campo input[type="tel"], .bm .bm-campo select {
	width: 100%; height: 52px; padding: 0 16px; border: 1.5px solid var(--bm-borde-input); border-radius: var(--bm-r-input);
	background: #fff; font-family: var(--bm-c); font-size: 16px; color: var(--bm-texto); box-shadow: none; margin: 0;
}
.bm .bm-campo input:focus, .bm .bm-campo select:focus { border-color: var(--bm-verde-oscuro); outline: none; box-shadow: 0 0 0 3px rgba(140, 198, 63, .45); }
.bm .bm-campo input[readonly] { background: var(--bm-fondo); color: var(--bm-texto-sec); }
.bm-campo.tiene-error input, .bm-campo.tiene-error select { border-color: #B3261E !important; }
.bm-campo__ayuda { font-size: 13px; color: var(--bm-texto-sec); }
.bm-campo__error { font-size: 13px; font-weight: 700; color: #B3261E; }
.bm-trampa { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.bm-alerta { padding: 14px 16px; border-radius: 14px; background: var(--bm-claro); border: 1px solid var(--bm-chip-borde); font-size: 15px; line-height: 1.5; color: var(--bm-texto); }
.bm-alerta--error { background: #FCEDEC; border-color: #F2C4C1; color: #8C1D18; font-weight: 700; }
.bm-nota-privacidad { display: flex; gap: 12px; padding: 14px 16px; background: #fff; border-radius: 14px; border: 1px solid var(--bm-borde-2); }
.bm .bm-nota-privacidad p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--bm-texto-sec); }
.bm-nota-privacidad strong { color: var(--bm-texto); font-weight: 800; }

/* Casillas */
.bm-check { display: flex; align-items: flex-start; gap: 12px; font-size: 16px; line-height: 1.4; cursor: pointer; }
.bm .bm-check input { width: 22px; height: 22px; margin: 0; flex-shrink: 0; accent-color: var(--bm-verde-oscuro); }
.bm-check--tarjeta { padding: 16px 20px; border-radius: 14px; border: 1.5px solid var(--bm-borde-2); background: #fff; }
.bm-check--tarjeta:has(input:checked) { border-color: var(--bm-verde-oscuro); }
.bm-check > span { display: flex; flex-direction: column; gap: 2px; }
.bm-check strong { font-weight: 800; }
.bm-check__ayuda { font-size: 14px; color: var(--bm-texto-sec); }
.bm-check.tiene-error { color: #8C1D18; }

/* Selector Factura A / B */
.bm-segmentado__opciones { display: flex; gap: 6px; padding: 4px; background: #E9E3D2; border-radius: 14px; }
.bm-segmentado__opciones label { flex: 1 1 0; position: relative; }
.bm-segmentado__opciones input { position: absolute; opacity: 0; inset: 0; }
.bm-segmentado__opciones span { height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 11px; font-family: var(--bm-t); font-weight: 700; font-size: 15px; color: var(--bm-texto-sec); cursor: pointer; }
.bm-segmentado__opciones input:checked + span { background: #fff; color: var(--bm-verde-oscuro); box-shadow: 0 1px 3px rgba(20, 40, 28, .12); }
.bm-segmentado__opciones input:focus-visible + span { outline: 3px solid var(--bm-lima); outline-offset: 2px; }

/* Términos */
.bm-legal { max-height: 46vh; overflow: auto; padding: 18px 20px; background: #fff; border-radius: var(--bm-r-card); border: 1px solid var(--bm-borde); }
.bm .bm-legal h2 { margin: 14px 0 6px; font-family: var(--bm-t); font-weight: 700; font-size: 16px; color: var(--bm-verde-oscuro); }
.bm .bm-legal h2:first-child { margin-top: 0; }
.bm .bm-legal p { margin: 0 0 8px; font-size: 15px; line-height: 1.6; color: var(--bm-texto); }

/* Checkout */
.bm-resumen { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; background: #fff; border-radius: var(--bm-r-card); border: 1px solid var(--bm-borde); }
.bm-resumen__fila { display: flex; align-items: baseline; justify-content: space-between; font-size: 16px; }
.bm-resumen__fila b { font-family: var(--bm-t); font-size: 22px; color: var(--bm-verde-oscuro); }
.bm-resumen__nota { font-size: 14px; color: var(--bm-texto-sec); }
.bm-cuenta-resumen { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 20px; background: #fff; border-radius: 14px; border: 1px solid var(--bm-borde-2); }
.bm-cuenta-resumen > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.bm-cuenta-resumen strong { font-size: 15px; font-weight: 700; }
.bm .bm-cuenta-resumen a { font-size: 14px; font-weight: 800; flex-shrink: 0; }
.bm-fac-inline { display: none; flex-direction: column; gap: 18px; padding: 24px; border-radius: var(--bm-r-card); background: #FBFAF6; border: 1px solid var(--bm-divisor); }
.bm .bm-fac-inline h2 { margin: 0; font-family: var(--bm-t); font-weight: 700; font-size: 18px; color: var(--bm-verde-oscuro); }
.bm-pago__total { display: flex; flex-direction: column; gap: 14px; padding-top: 8px; }
.bm-pago__total > div { display: flex; align-items: baseline; justify-content: space-between; }
.bm-pago__total span { font-size: 14px; color: var(--bm-texto-sec); }
.bm-pago__total strong { font-family: var(--bm-t); font-weight: 800; font-size: 24px; }
.bm-pago__total small { font-size: 15px; font-weight: 600; color: var(--bm-texto-sec); font-family: var(--bm-c); }
.bm-pago__boton { width: 100%; }

/* Listo / activa */
.bm-listo { display: flex; flex-direction: column; gap: 18px; }
.bm-listo__ico { width: 84px; height: 84px; border-radius: 42px; background: var(--bm-claro); display: flex; align-items: center; justify-content: center; }
.bm-listo__ico .bm-agro { width: 48px; height: 48px; }
.bm-listo__pasos { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 10px; font-size: 15px; line-height: 1.55; color: var(--bm-texto-sec); }
.bm-listo__pasos strong { color: var(--bm-texto); }

/* Ingresar */
.bm-ingresar__card { max-width: 480px; margin: 8px auto 0; display: flex; flex-direction: column; gap: 18px; padding: 28px 22px; background: #fff; border-radius: var(--bm-r-dest); border: 1px solid var(--bm-borde); }
.bm-ingresar__card > img { width: 56px; height: 56px; object-fit: contain; }

/* Mi cuenta */
.bm-mi-cuenta__grilla { display: flex; flex-direction: column; gap: 16px; max-width: 760px; }
.bm-estado { display: inline-block; padding: 4px 12px; border-radius: 12px; font-size: 13px; font-weight: 800; }
.bm-estado--al-dia { background: var(--bm-chip); color: var(--bm-verde-oscuro); }
.bm-estado--revisar { background: #FCF4D9; color: #7A5A00; }
.bm-estado--vencida { background: #FCEDEC; color: #8C1D18; }
.bm .bm-mi-cuenta .bm-seccion .bm-boton { align-self: flex-start; }
.bm-mi-cuenta__salir { align-self: flex-start; }

@media (min-width: 1024px) {
	.bm-pagina.bm-alta { padding-top: 56px; padding-bottom: 72px; }
	.bm-alta__grilla { display: grid; grid-template-columns: 400px minmax(0, 1fr); gap: 32px; align-items: start; max-width: calc(1040px + 48px); }
	.bm-alta__panel { display: flex; flex-direction: column; gap: 32px; padding: 40px; background: var(--bm-verde-oscuro); border-radius: 28px; position: sticky; top: 24px; }
	.bm-stepper { flex-direction: column; gap: 18px; padding: 0 0 32px; border-bottom: 1px solid rgba(255, 255, 255, .15); }
	.bm-stepper li { flex-direction: row; gap: 14px; font-size: 16px; color: #fff; text-align: left; }
	.bm-stepper li + li::before { display: none; }
	.bm-stepper__num { width: 34px; height: 34px; border-radius: 17px; font-size: 14px; background: rgba(255, 255, 255, .12); color: #fff; border: 0; }
	.bm-stepper .is-actual .bm-stepper__num, .bm-stepper .is-hecho .bm-stepper__num { background: #fff; color: var(--bm-verde-oscuro); }
	.bm-stepper .is-actual, .bm-stepper .is-hecho { color: #fff; }
	.bm-alta__precio { display: flex; flex-direction: column; gap: 4px; }
	.bm-alta__monto { font-size: 16px; color: #D5E5D0; }
	.bm-alta__monto span { font-family: var(--bm-t); font-weight: 800; font-size: 40px; color: #fff; }
	.bm-alta__beneficios { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
	.bm-alta__beneficios li { display: flex; align-items: center; gap: 12px; font-size: 15px; line-height: 1.35; color: #fff; }
	.bm-alta__beneficios li > span { width: 40px; height: 40px; flex-shrink: 0; border-radius: 12px; background: rgba(255, 255, 255, .1); display: flex; align-items: center; justify-content: center; }
	.bm-alta__beneficios .bm-agro { width: 28px; height: 28px; }
	.bm-alta__form { padding: 44px; background: #fff; border-radius: 28px; border: 1px solid var(--bm-borde); gap: 24px; }
	.bm .bm-alta__titulo { font-size: 32px; }
	.bm-campos-grilla { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.bm-cuenta-resumen, .bm-nota-privacidad { background: var(--bm-fondo); border: 0; }
	.bm-pago:has(.bm-pago__factura:checked) .bm-fac-inline { display: flex; }
	.bm-pago__total { flex-direction: row; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--bm-divisor); padding-top: 16px; }
	.bm-pago__total > div { flex-direction: column; gap: 2px; }
	.bm-pago__total strong { font-size: 26px; }
	.bm-pago__boton { width: auto; }
	.bm-alta__form .bm-formulario > .bm-boton--ancho { width: auto; align-self: flex-start; min-width: 240px; }
	.bm-ingresar__card { padding: 40px; margin-top: 24px; }
}
