/* ============================================================
   Maquinarias Jordan — CSS de la portada
   Se encola desde los shortcodes de portada (shortcodes-portada.php).
   Prefijo .jm- para no chocar con el tema.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Paytone+One&display=swap');

/* ===== Variables de marca ===== */
.jm-hero{
  --jm-bordo:#7A1619; --jm-bordo-hero:#2C1210;
  --jm-verde:#3E9A54; --jm-oro:#D99A16;
  --jm-crema:#F6F2EA; --jm-tinta:#221A18;
}
.jm-hero *{ box-sizing:border-box; }

/* ============================================================
   Maquinarias Jordan — CSS de la portada
   Se encola desde los shortcodes de portada (shortcodes-portada.php).
   Prefijo .jm- para no chocar con el tema.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Paytone+One&display=swap');

/* ===== Variables de marca ===== */
.jm-hero{
  --jm-bordo:#7A1619; --jm-bordo-hero:#2C1210;
  --jm-verde:#3E9A54; --jm-oro:#D99A16;
  --jm-crema:#F6F2EA; --jm-tinta:#221A18;
}
.jm-hero *{ box-sizing:border-box; }

/* ============================================================
   HERO — institucional, una sola columna sobre video
   El texto es largo y no se recorta: por eso columna única,
   con medida de lectura controlada y tipografía más grande.
   ============================================================ */
.jm-hero{
  position:relative;
  min-height:auto;              /* la altura la define el contenido */
  display:flex;
  align-items:center;
  background:var(--jm-bordo-hero);
  overflow:hidden;
  font-family:'Barlow',system-ui,sans-serif;
}
.jm-hero-bg{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
}
.jm-hero-veil1{
  position:absolute; inset:0;
  /* al ser una columna, el velo va parejo de arriba a abajo */
  background:linear-gradient(180deg, rgba(35,12,10,.88) 0%, rgba(44,18,16,.78) 55%, rgba(35,12,10,.9) 100%);
}
.jm-hero-veil2{
  position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(35,12,10,.5) 0%, transparent 65%);
}
.jm-hero .jm-wrap{
  position:relative;
  max-width:1240px; margin:0 auto;
  padding:clamp(72px,8vw,120px) 24px;
  width:100%;
}
.jm-hero-inner{ width:100%; text-align:left; }

/* Una sola columna: col-a y col-b se apilan sin tocar el HTML */
.jm-hero-cols{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(20px,2.5vw,28px);
  align-items:start;
  max-width:1000px;            /* el bloque no se estira a los 1240 */
}

/* --- Bloque superior: sello, eyebrow, título --- */
.jm-hero-sello{
  width:clamp(70px,7vw,96px); height:auto; display:block;
  margin:0 0 18px;
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.45));
}
.jm-hero-eyebrow{
  font-family:'Barlow Condensed',sans-serif;
  text-transform:uppercase; letter-spacing:.16em;
  font-weight:600; font-size:15px; color:var(--jm-oro);
  margin-bottom:10px;
}
.jm-hero h1.jm-hero-title{
  font-family:'Paytone One', system-ui, sans-serif; font-weight:400;
  text-transform:none; color:#fff;
  font-size:clamp(34px,4.6vw,62px); line-height:1.06; letter-spacing:0;
  margin:0;
  max-width:18ch;
}

/* --- Bloque inferior: texto y botones --- */
.jm-hero-lead{
  color:#EFE4D6;
  max-width:68ch;              /* medida de lectura, no un ancho fijo */
  margin:0 0 34px;
  font-size:clamp(17px,1.35vw,20.5px);
  line-height:1.75;
}
.jm-hero-actions{
  display:flex; flex-wrap:wrap; gap:14px;
  justify-content:flex-start; margin:0;
}

/* ===== Botones ===== */
.jm-btn-oro{
  display:inline-flex; align-items:center; gap:10px;
  background:var(--jm-oro); color:var(--jm-bordo-hero);
  font-family:'Barlow Condensed',sans-serif; text-transform:uppercase;
  letter-spacing:.04em; font-weight:800; font-size:20px; text-decoration:none;
  padding:16px 28px; border-radius:9px; box-shadow:0 8px 22px rgba(217,154,22,.35);
  transition:background .15s;
}
.jm-btn-oro:hover{ background:#EBB43A; }
.jm-btn-ghost{
  display:inline-flex; align-items:center; gap:10px;
  background:rgba(255,255,255,.08); border:1.5px solid rgba(255,255,255,.4);
  color:#fff; font-family:'Barlow Condensed',sans-serif; text-transform:uppercase;
  letter-spacing:.04em; font-weight:700; font-size:20px; text-decoration:none;
  padding:16px 26px; border-radius:9px; backdrop-filter:blur(4px);
  transition:background .15s;
}
.jm-btn-ghost:hover{ background:rgba(255,255,255,.16); }

/* ===== Stats ===== */
.jm-hero-stats{
  display:flex; align-items:stretch; justify-content:flex-start;
  gap:clamp(24px,3.5vw,52px);
  margin-top:clamp(40px,5vw,64px);
  padding-top:clamp(26px,3vw,36px);
  border-top:1px solid rgba(255,255,255,.18);
  max-width:1000px;
}
/* Ancho parejo: sin esto el separador cae donde termina cada texto
   y la fila se ve despareja. */
.jm-hero-stats > div:not(.jm-stat-sep){
  flex:0 1 clamp(200px,19vw,270px);
  min-width:0;
}
.jm-stat-num{
  font-family:'Barlow Condensed',sans-serif; font-weight:800;
  color:#fff; font-size:clamp(42px,3.4vw,54px); line-height:1; margin-bottom:6px;
}
.jm-stat-lbl{
  color:#D2C2AB; font-size:15.5px; line-height:1.4;
  text-wrap:balance;
}
.jm-stat-sep{
  width:1px; flex:0 0 auto; align-self:stretch;
  background:rgba(255,255,255,.18);
}

/* ===== Responsive del hero ===== */
@media (max-width:900px){
  .jm-hero .jm-wrap{ padding:56px 24px; }
  .jm-hero h1.jm-hero-title{ max-width:none; }
  .jm-hero-lead{ max-width:none; font-size:17px; line-height:1.7; }
}
@media (max-width:640px){
  .jm-hero-stats{ flex-direction:column; align-items:flex-start; gap:20px; }
  .jm-stat-sep{ display:none; }
}

/* ============================================================
   Animaciones de entrada del hero
   ============================================================ */
@keyframes jmHeroSello{
  from{ opacity:0; transform:scale(.8) translateY(10px); }
  to{ opacity:1; transform:scale(1) translateY(0); }
}
@keyframes jmHeroUp{
  from{ opacity:0; transform:translateY(24px); }
  to{ opacity:1; transform:translateY(0); }
}
.jm-hero-sello{ animation:jmHeroSello .7s cubic-bezier(.2,.7,.3,1) both; }
.jm-hero-eyebrow{ animation:jmHeroUp .7s ease-out .1s both; }
.jm-hero h1.jm-hero-title{ animation:jmHeroUp .7s ease-out .2s both; }
.jm-hero-lead{ animation:jmHeroUp .7s ease-out .3s both; }
.jm-hero-actions{ animation:jmHeroUp .7s ease-out .4s both; }
.jm-hero-stats{ animation:jmHeroUp .7s ease-out .5s both; }

/* Respeta a quien prefiere menos movimiento (accesibilidad) */
@media (prefers-reduced-motion: reduce){
  .jm-hero-sello,
  .jm-hero-eyebrow,
  .jm-hero h1.jm-hero-title,
  .jm-hero-lead,
  .jm-hero-actions,
  .jm-hero-stats{ animation:none; }
}

/* ============================================================
   Secciones — base compartida
   ============================================================ */
.jm-section{
  --jm-bordo:#7A1619; --jm-verde:#3E9A54; --jm-oro:#D99A16;
  --jm-crema:#F6F2EA; --jm-crema-osc:#EDE5D7;
  --jm-tinta:#221A18; --jm-gris:#7A6E66; --jm-borde:#E9E0D2;
  font-family:'Barlow',system-ui,sans-serif;
  padding:78px 0 20px;
}
.jm-section *{ box-sizing:border-box; }
.jm-section .jm-wrap{ max-width:1240px; margin:0 auto; padding:0 24px; }

/* Encabezado de sección */
.jm-sec-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  flex-wrap:wrap; gap:16px; margin-bottom:34px;
}
.jm-eyebrow{
  font-family:'Barlow Condensed',sans-serif; text-transform:uppercase;
  letter-spacing:.16em; font-weight:600; color:var(--jm-verde); font-size:15px;
}
.jm-eyebrow.is-bordo{ color:var(--jm-bordo); }
.jm-h2{
  font-family:'Barlow Condensed',sans-serif; font-weight:800; text-transform:uppercase;
  color:var(--jm-tinta); font-size:clamp(34px,4.4vw,50px); line-height:1; margin:6px 0 0;
}
.jm-h2.is-sm{ font-size:clamp(30px,3.8vw,46px); }
.jm-seelink{
  font-family:'Barlow Condensed',sans-serif; text-transform:uppercase;
  letter-spacing:.04em; font-weight:700; color:var(--jm-bordo); font-size:16px;
  text-decoration:none; display:inline-flex; align-items:center; gap:7px;
  border-bottom:2px solid var(--jm-oro); padding-bottom:3px;
}

/* Encabezado con tag a la izquierda */
.jm-sec-headleft{ display:flex; align-items:center; gap:16px; }
.jm-sec-tag{
  display:inline-flex; align-items:center; gap:8px; color:#fff;
  font-family:'Barlow Condensed',sans-serif; text-transform:uppercase;
  letter-spacing:.08em; font-weight:700; font-size:15px;
  padding:7px 14px; border-radius:8px;
}
.jm-sec-tag.is-verde{ background:var(--jm-verde); }
.jm-sec-tag.is-bordo{ background:var(--jm-bordo); }

/* ============================================================
   Categorías
   ============================================================ */
.jm-cat-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;
}
.jm-cat-card{
  text-decoration:none; background:#fff; border:1.5px solid var(--jm-borde);
  border-radius:16px; overflow:hidden; display:flex; flex-direction:column;
  transition:transform .16s, box-shadow .16s, border-color .16s;
}
.jm-cat-card:hover{
  transform:translateY(-5px); box-shadow:0 16px 34px rgba(58,20,16,.12);
  border-color:var(--cat-color, var(--jm-verde));
}
.jm-cat-media{ position:relative; aspect-ratio:16/10; background:var(--jm-crema-osc); }
.jm-cat-img{
  position:absolute; inset:0;
  background-size:cover; background-position:center; background-repeat:no-repeat;
}
.jm-cat-veil{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(44,18,16,0) 35%, rgba(44,18,16,.72));
}
.jm-cat-name-over{
  position:absolute; left:16px; right:16px; bottom:14px; z-index:2;
  font-family:'Barlow Condensed',sans-serif; font-weight:700; text-transform:uppercase;
  letter-spacing:.02em; color:#fff; font-size:22px; line-height:1;
  text-shadow:0 2px 10px rgba(0,0,0,.4);
}
.jm-cat-media::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:5px; z-index:2;
  background:var(--cat-color, var(--jm-verde));
}
.jm-cat-body{ padding:16px 20px 20px; display:flex; flex-direction:column; gap:4px; flex:1; }
.jm-cat-desc{ color:var(--jm-gris); font-size:14px; line-height:1.45; }
.jm-cat-more{
  font-family:'Barlow Condensed',sans-serif; text-transform:uppercase;
  letter-spacing:.06em; color:var(--cat-color, var(--jm-bordo)); font-weight:700; font-size:14px;
  margin-top:12px; display:inline-flex; align-items:center; gap:6px;
}
@media (max-width: 900px){ .jm-cat-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width: 480px){ .jm-cat-grid{ grid-template-columns:1fr; } }

/* ============================================================
   Tarjeta de producto (compartida: Destacados, Nuevos, Usados)
   ============================================================ */
.jm-prod-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(290px,1fr)); gap:22px;
}
.jm-prod-card{
  background:#fff; border:1.5px solid var(--jm-borde); border-radius:18px;
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .16s, box-shadow .16s;
}
.jm-prod-card:hover{ transform:translateY(-6px); box-shadow:0 20px 40px rgba(58,20,16,.14); }
.jm-prod-media{ position:relative; aspect-ratio:4/3; background:var(--jm-crema-osc); display:block; }
.jm-prod-img{
  position:absolute; inset:0;
  background-size:cover; background-position:center; background-repeat:no-repeat;
}
.jm-badge{
  position:absolute; top:13px; left:13px; color:#fff;
  font-family:'Barlow Condensed',sans-serif; text-transform:uppercase;
  letter-spacing:.06em; font-weight:700; font-size:13px;
  padding:5px 11px; border-radius:7px; box-shadow:0 3px 10px rgba(0,0,0,.2);
}
.jm-badge.is-nuevo{ background:var(--jm-verde); }
.jm-badge.is-usado{ background:var(--jm-bordo); }

/* Badges apilados (Nuevo + Usado juntos) */
.jm-badge-stack{
  position:absolute; top:12px; left:12px; z-index:2;
  display:flex; flex-direction:column; gap:6px;
}
.jm-badge-stack .jm-badge{
  position:static;
  display:inline-block; width:auto;
  padding:5px 12px; border-radius:6px;
  font-family:'Barlow Condensed',sans-serif; font-weight:600;
  font-size:13px; letter-spacing:.04em; text-transform:uppercase;
  color:#fff; line-height:1.2; box-shadow:0 2px 8px rgba(0,0,0,.18);
  background:var(--jm-verde,#3E9A54);
}
.jm-badge-stack .jm-badge.is-nuevo{ background:#3E9A54; }
.jm-badge-stack .jm-badge.is-usado{ background:#7A1619; }

.jm-prod-body{ padding:18px 20px 20px; display:flex; flex-direction:column; gap:4px; flex:1; }
.jm-prod-cat{
  font-family:'Barlow Condensed',sans-serif; text-transform:uppercase;
  letter-spacing:.1em; font-weight:600; font-size:13px;
}
.jm-prod-cat.is-verde{ color:var(--jm-verde); }
.jm-prod-cat.is-bordo{ color:var(--jm-bordo); }
.jm-prod-title{
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  color:var(--jm-tinta); font-size:23px; line-height:1.05;
}
.jm-prod-title a{ color:inherit; text-decoration:none; }
.jm-prod-detail{ color:var(--jm-gris); font-size:14px; margin-top:2px; }
.jm-prod-foot{
  margin-top:14px; padding-top:14px; border-top:1px solid #EFE7DA;
  display:flex; align-items:center; justify-content:space-between; gap:10px;
}
.jm-prod-price{
  font-family:'Barlow Condensed',sans-serif; font-weight:700;
  color:var(--jm-bordo); font-size:18px;
}
.jm-consult{
  display:inline-flex; align-items:center; gap:7px; background:var(--jm-verde);
  color:#fff; font-family:'Barlow Condensed',sans-serif; text-transform:uppercase;
  letter-spacing:.03em; font-weight:700; font-size:14px; text-decoration:none;
  padding:9px 14px; border-radius:8px; transition:background .15s;
}
.jm-consult:hover{ background:#2C6F3D; }

/* Cards fijas (Repuestos / Accesorios): la imagen es institucional,
   no una foto de producto, así que se muestra entera sin recortar. */
.jm-prod-img.is-contain{
  background-size:contain;
  background-color:var(--jm-crema,#F6F2EA);
}
.jm-prod-card.is-fija .jm-prod-media{ background:var(--jm-crema,#F6F2EA); }

/* ============================================================
   Banda crema (Usados)
   ============================================================ */
.jm-band-crema{
  --jm-bordo:#7A1619; --jm-verde:#3E9A54; --jm-oro:#D99A16;
  --jm-crema:#F6F2EA; --jm-crema-osc:#EDE5D7;
  --jm-tinta:#221A18; --jm-gris:#7A6E66; --jm-borde:#E9E0D2;
  background:var(--jm-crema-osc);
  margin-top:64px;
  font-family:'Barlow',system-ui,sans-serif;
}
.jm-band-crema *{ box-sizing:border-box; }
.jm-band-crema .jm-wrap{ max-width:1240px; margin:0 auto; padding:64px 24px; }
.jm-band-crema .jm-sec-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  flex-wrap:wrap; gap:16px; margin-bottom:30px;
}

/* ============================================================
   Marcas — cinta continua de logos
   ============================================================ */
.jm-marcas-head{ text-align:center; margin-bottom:34px; }
.jm-marcas-head .jm-eyebrow{ display:block; }

.jm-marquee{
  position:relative;
  overflow:hidden;
  width:100%;
  padding:10px 0;
  /* desvanecido suave en los bordes */
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.jm-marquee-track{
  display:flex;
  width:max-content;
  animation:jm-marquee 32s linear infinite;
}
.jm-marquee-item{
  flex:0 0 auto;
  width:230px; height:110px;
  display:flex; align-items:center; justify-content:center;
  padding:0 30px;
}
.jm-marquee-item img{
  max-width:100%; max-height:82px;
  width:auto; height:auto;
  object-fit:contain; display:block;
}
@keyframes jm-marquee{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }   /* -50% porque la lista está duplicada */
}
@media (prefers-reduced-motion: reduce){
  .jm-marquee-track{ animation:none; flex-wrap:wrap; justify-content:center; }
}

/* ============================================================
   Nosotros
   ============================================================ */
.jm-section.is-nosotros{ padding:72px 0; }
.jm-nosotros-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(340px,1fr));
  gap:44px; align-items:center;
}
.jm-nosotros-media{ position:relative; }
.jm-nosotros-media img{
  width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:20px;
  box-shadow:0 18px 40px rgba(58,20,16,.16);
}
.jm-nosotros-chip{
  position:absolute; bottom:-22px; right:-14px; background:var(--jm-bordo);
  color:#fff; border-radius:16px; padding:18px 24px; box-shadow:0 12px 30px rgba(58,20,16,.3);
}
.jm-nosotros-chip .num{ font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:44px; line-height:.9; }
.jm-nosotros-chip .lbl{ font-size:13.5px; color:#F1D9A8; }
.jm-nosotros p{ color:#4A403A; font-size:17.5px; line-height:1.6; }
.jm-nosotros p.first{ margin:20px 0 0; }
.jm-nosotros p.next{ margin:14px 0 0; }
.jm-feat-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(150px,1fr));
  gap:16px; margin-top:28px;
}
.jm-feat{ background:#fff; border:1.5px solid var(--jm-borde); border-radius:14px; padding:18px; }
.jm-feat-head{ display:flex; align-items:center; gap:9px; }
.jm-feat-head span{ font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:20px; color:var(--jm-tinta); }
.jm-feat p{ color:var(--jm-gris); font-size:14px; margin:8px 0 0; }

/* ============================================================
   Financiación
   ============================================================ */
.jm-fin{
  --jm-oro:#D99A16;
  position:relative; overflow:hidden; background:#22160F;
  font-family:'Barlow',system-ui,sans-serif;
}
.jm-fin *{ box-sizing:border-box; }
.jm-fin-tex{
  position:absolute; inset:0; opacity:.5;
  background:repeating-linear-gradient(135deg, transparent 0 38px, rgba(217,154,22,.05) 38px 40px);
}
.jm-fin .jm-wrap{ position:relative; max-width:1240px; margin:0 auto; padding:66px 24px; }
.jm-fin-head{ text-align:center; margin-bottom:38px; }
.jm-fin-head .jm-h2{
  font-family:'Barlow Condensed',sans-serif; font-weight:800; text-transform:uppercase;
  color:#fff; font-size:clamp(30px,3.8vw,46px); line-height:1; margin:6px 0 0;
}
.jm-fin-head .jm-eyebrow{
  font-family:'Barlow Condensed',sans-serif; text-transform:uppercase;
  letter-spacing:.16em; font-weight:600; font-size:15px;
}
.jm-fin-lead{ color:#C9B79F; font-size:17px; max-width:620px; margin:14px auto 0; }
.jm-fin-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(230px,1fr)); gap:18px;
}
.jm-fin-card{
  background:rgba(255,255,255,.05); border:1px solid rgba(217,154,22,.28);
  border-radius:16px; padding:26px;
}
.jm-fin-ico{ font-size:28px; color:var(--jm-oro); display:block; }
.jm-fin-card .t{
  font-family:'Barlow Condensed',sans-serif; font-weight:700; text-transform:uppercase;
  color:#fff; font-size:21px; margin-top:14px;
  line-height:1.12;
  /* Los títulos no miden lo mismo: reservamos 2 renglones para que
     las descripciones arranquen todas a la misma altura. */
  min-height:2.24em;
  text-wrap:balance;
}
.jm-fin-card p{ color:#C9B79F; font-size:14.5px; margin:8px 0 0; line-height:1.5; }

/* ============================================================
   Testimonios
   ============================================================ */
.jm-section.is-testi{ padding:72px 0; }
.jm-testi-head{ text-align:center; margin-bottom:38px; }
.jm-testi-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(300px,1fr)); gap:22px;
}
.jm-testi{
  background:#fff; border:1.5px solid var(--jm-borde); border-radius:18px;
  padding:28px; display:flex; flex-direction:column; gap:16px;
}
.jm-testi-stars{ display:flex; gap:3px; color:var(--jm-oro); }
.jm-testi-text{ color:#3A322D; font-size:16.5px; line-height:1.55; flex:1; }
.jm-testi-who{ display:flex; align-items:center; gap:12px; }
.jm-testi-avatar{
  width:44px; height:44px; border-radius:50%; background:var(--jm-verde);
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-family:'Barlow Condensed',sans-serif; font-weight:700; font-size:18px;
}
.jm-testi-name{ font-family:'Barlow Condensed',sans-serif; font-weight:700; color:var(--jm-tinta); font-size:18px; line-height:1; }
.jm-testi-place{ color:var(--jm-gris); font-size:13.5px; }

/* ============================================================
   Novedades
   ============================================================ */
.jm-section.is-novedades{ padding:10px 0 72px; }
.jm-nov-grid{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(300px,1fr)); gap:22px;
}
.jm-nov{
  text-decoration:none; background:#fff; border:1.5px solid var(--jm-borde);
  border-radius:18px; overflow:hidden; display:flex; flex-direction:column;
  transition:transform .16s, box-shadow .16s;
}
.jm-nov:hover{ transform:translateY(-5px); box-shadow:0 16px 34px rgba(58,20,16,.12); }
.jm-nov-media{ position:relative; aspect-ratio:16/10; background:var(--jm-crema-osc); }
.jm-nov-img{ position:absolute; inset:0; background-size:cover; background-position:center; background-repeat:no-repeat; }
.jm-nov-tag{
  position:absolute; top:12px; left:12px; background:var(--jm-oro); color:#2C1210;
  font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.05em;
  font-weight:700; font-size:12.5px; padding:5px 10px; border-radius:6px;
}
.jm-nov-body{ padding:20px; display:flex; flex-direction:column; gap:8px; flex:1; }
.jm-nov-date{ color:#9A8E82; font-size:13px; }
.jm-nov-title{ font-family:'Barlow Condensed',sans-serif; font-weight:700; color:var(--jm-tinta); font-size:22px; line-height:1.08; }
.jm-nov-sum{ color:#6E645C; font-size:14.5px; line-height:1.5; flex:1; }
.jm-nov-more{
  font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.05em;
  color:var(--jm-bordo); font-weight:700; font-size:14px; display:inline-flex; align-items:center; gap:6px;
}

/* ============================================================
   WhatsApp flotante
   ============================================================ */
@keyframes jmWaFloat{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-7px); }
}
@keyframes jmWaPulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(37,211,102,.5); }
  70%{ box-shadow:0 0 0 16px rgba(37,211,102,0); }
}
.jm-wa-float{
  position:fixed; bottom:26px; right:26px; z-index:80;
  width:62px; height:62px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 26px rgba(37,211,102,.45);
  animation:jmWaFloat 3.4s ease-in-out infinite, jmWaPulse 2.6s ease-out infinite;
  transition:background .15s;
}
.jm-wa-float:hover{ background:#1FBA59; }

@media (prefers-reduced-motion: reduce){
  .jm-wa-float{ animation:none; }
}


/* Variante de 5 columnas (Categorías con Repuestos) */
.jm-cat-grid.is-cinco{ grid-template-columns:repeat(5, 1fr); }
@media (max-width:1180px){ .jm-cat-grid.is-cinco{ grid-template-columns:repeat(3,1fr); } }
@media (max-width: 900px){ .jm-cat-grid.is-cinco{ grid-template-columns:repeat(2,1fr); } }
@media (max-width: 480px){ .jm-cat-grid.is-cinco{ grid-template-columns:1fr; } }