/* ============================================================
   Nutrihuevos · piezas propias del rubro (mapa de Gran Asunción,
   maple, clasificadora, huevo con lote, góndola, celular, premios,
   propuesta modular)
   ============================================================ */
.mod h3,.wow-kin,.hub-cab h2{font-family:"Nunito",var(--sans);font-style:italic;font-weight:900;text-transform:none}
.hub-cab h2 span{color:var(--rojo)}
.mod{animation:modIn .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i,0) * 70ms)}
.wow-kin{font-size:clamp(38px,5.4vw,88px)}

/* ---------- mapa de Gran Asunción ---------- */
.metro{position:relative;background:radial-gradient(70% 60% at 50% 45%,#0A4A86 0%,#012A4D 75%);border-radius:var(--r-l);overflow:hidden;min-height:320px;border:1px solid #0C3B66}
.metro svg{display:block;width:100%;height:auto;max-height:560px}
.m-rio{fill:none;stroke:#3BA6FE;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;opacity:.38}
.m-rio-t{fill:#82C6FE;font:600 13px Inter,sans-serif;letter-spacing:.2em;opacity:.7}
.m-ar{fill:#5B7FA6;font:700 12px Inter,sans-serif;letter-spacing:.3em}
.m-ciu circle{fill:#82C6FE;opacity:.75}
.m-ciu text{fill:#C9E6FF;font:500 12.5px Inter,sans-serif;opacity:.85}
.m-ruta{fill:none;stroke:#FFCD1A;stroke-width:2.6;stroke-dasharray:6 6;opacity:.85;stroke-dashoffset:400;animation:mRuta 1.6s ease forwards,fluye 1s linear 1.6s infinite}
@keyframes mRuta{from{stroke-dashoffset:400;opacity:0}to{stroke-dashoffset:0;opacity:.85}}
.m-camion{offset-rotate:auto;animation:mCamion 7s ease-in-out infinite}
@keyframes mCamion{0%{offset-distance:0%;opacity:0}8%{opacity:1}88%{opacity:1}100%{offset-distance:100%;opacity:0}}
.m-loc{cursor:pointer;animation:modIn .6s ease both}
.m-loc .nucleo{fill:var(--c);stroke:#012A4D;stroke-width:3}
.m-loc .halo{fill:var(--c);opacity:.25;transform-box:fill-box;transform-origin:center;animation:mLatido 2.4s ease-in-out infinite}
@keyframes mLatido{0%,100%{transform:scale(.6);opacity:.35}50%{transform:scale(1.15);opacity:.08}}
.m-loc text{fill:#fff;font:700 14px Inter,sans-serif;paint-order:stroke;stroke:#012A4D;stroke-width:4px}
.metro__ley{position:absolute;left:12px;bottom:10px;right:12px;display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11.5px;color:#DCEBFA}
.metro__ley span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--c);margin-right:6px;vertical-align:-1px}

/* ---------- maple de 30 ---------- */
.maple{display:block;width:100%;max-width:240px;margin:12px auto 0}
.mp-celda{fill:#D8C3A0;stroke:#B89B70;stroke-width:1.5}
.mp-huevo{fill:#FFF8EA;stroke:#E2CFAE;stroke-width:1;transform-box:fill-box;transform-origin:center;animation:mpCae .45s cubic-bezier(.3,1.5,.5,1) both}
@keyframes mpCae{from{transform:translateY(-18px) scale(.6);opacity:0}to{transform:none;opacity:1}}

/* ---------- clasificadora ---------- */
.cinta{display:block;width:100%;height:auto}
.cn-banda{fill:#2A4A6C}.cn-rod{fill:#82C6FE;opacity:.6}
.cn-cam rect{fill:#012A4D}.cn-lente{fill:#FFCD1A}
.cn-haz{fill:#FFCD1A;opacity:.18;animation:cnHaz 1.15s ease-in-out infinite}
@keyframes cnHaz{0%,100%{opacity:.08}50%{opacity:.32}}
.cn-huevo{fill:#FFF8EA;stroke:#D9C29C;stroke-width:1.5;offset-path:path('M-20,62 L540,62');offset-rotate:0deg;animation:cnMov 8s linear infinite}
@keyframes cnMov{to{offset-distance:100%}}
.cn-sal rect{fill:#005CA9}.cn-sal text{fill:#fff;font:900 14px Nunito,sans-serif;text-anchor:middle}
.cn-sal{animation:cnSal 2.4s ease-in-out infinite}
@keyframes cnSal{0%,100%{opacity:.55}50%{opacity:1}}

/* ---------- huevo con código de lote ---------- */
.hlote{display:block;width:150px;height:auto;margin:0 auto;filter:drop-shadow(0 14px 22px rgba(1,34,63,.22))}
.hl-cod{font:900 34px "Nunito",sans-serif;fill:#005CA9;letter-spacing:2px}
.hl-cod tspan{opacity:0;animation:hlTinta .3s ease forwards}
@keyframes hlTinta{to{opacity:.88}}
.hl-brillo{fill:none;stroke:#fff;stroke-width:6;stroke-linecap:round;opacity:.7}
.lote-hero,.nf-consulta{display:grid;grid-template-columns:170px minmax(0,1fr);gap:18px;align-items:center}

/* ---------- góndola SVG ---------- */
.gsvg{display:block;width:100%;height:auto}
.gs-fila{animation:modIn .5s ease both}
.gs-cad{font:700 13px Inter,sans-serif;fill:var(--tinta)}
.gs-est{fill:#C3D2DF}
.gs-pack rect{fill:#005CA9}.gs-pack text{fill:#fff;font:800 12px Inter,sans-serif;text-anchor:middle}
.gs-hueco rect{fill:#FFF6D6;stroke:#DCAC00;stroke-width:1.5;stroke-dasharray:5 4}
.gs-hueco text{fill:#7A5A00;font:700 11px Inter,sans-serif;text-anchor:middle}

/* ---------- tablas ---------- */
.nombre-cad{font-family:var(--mono);font-size:11.5px;color:var(--tinta-70)}
tr.fila-falta td{background:#FFF8E6}
.fo--vacia{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:8px;background:#FFF6D6}

/* ---------- celular de pedido ---------- */
.celu{max-width:330px;margin:0 auto;border:8px solid #012A4D;border-radius:28px;padding:14px 12px;background:#F7FAFD;box-shadow:var(--sombra-2)}
.celu__top{display:flex;flex-direction:column;padding-bottom:10px;border-bottom:1px solid var(--linea);margin-bottom:6px}
.celu__top b{color:var(--rojo);font-family:Nunito,sans-serif;font-style:italic;font-weight:900;font-size:17px}
.celu__top span{font-size:11.5px;color:var(--tinta-45)}
.celu__it{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 0;border-bottom:1px dashed var(--linea)}
.celu__it img{border-radius:8px;object-fit:cover;background:#fff}
.celu__it b{display:block;font-size:12.5px}.celu__it span{font-size:11px;color:var(--tinta-45)}
.celu__it em{font-style:normal;font-weight:800;color:var(--rojo);font-size:15px}
.celu__pie{display:flex;flex-direction:column;gap:8px;margin-top:10px;font-size:12px}
.celu__pie b{color:#7A5A00}
.maple--celu{max-width:150px}

/* ---------- premios NutriFiel ---------- */
.premios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.premio{border:1px solid var(--linea);border-radius:12px;padding:12px;background:linear-gradient(160deg,#fff,#FFFAEA);animation:modIn .5s ease both;animation-delay:calc(var(--i) * 80ms)}
.premio__pts{font:900 26px/1 Nunito,sans-serif;font-style:italic;color:var(--rojo)}
.premio__pts small{font:600 10px Inter,sans-serif;color:var(--tinta-45);margin-left:4px;font-style:normal;text-transform:uppercase;letter-spacing:.08em}
.premio b{display:block;margin-top:6px;font-size:12.5px}.premio span{font-size:11px;color:var(--tinta-45)}

/* ---------- propuesta modular ---------- */
.modp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.modp__c{background:var(--papel);border:1px solid var(--linea);border-radius:var(--r-l);padding:18px;display:flex;flex-direction:column;box-shadow:var(--sombra-1);animation:modIn .6s ease both;animation-delay:calc(var(--i) * 80ms)}
.modp__c:first-child{border-color:var(--rojo);box-shadow:0 0 0 2px var(--rojo-50),var(--sombra-2)}
.modp__cab h3{margin:10px 0 6px;font:900 21px/1.1 Nunito,sans-serif;font-style:italic;color:var(--rojo-900)}
.modp__cab p{margin:0;font-size:12.5px;color:var(--tinta-70);line-height:1.5;min-height:56px}
.modp__pie{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;font-size:12px;color:var(--tinta-45)}
.cta-mod{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;padding:20px 22px;border-radius:var(--r-l);background:linear-gradient(120deg,#005CA9,#013662);color:#fff}
.cta-mod b{display:block;font:900 22px Nunito,sans-serif;font-style:italic}
.cta-mod span{font-size:13px;color:#DCEBFA}
.cta-mod .btn--rojo{background:#FFCD1A;color:#012A4D;border-color:#FFCD1A;font-weight:800;white-space:nowrap}

@media (max-width:1100px){.modp{grid-template-columns:repeat(2,minmax(0,1fr))}.premios{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.modp,.premios{grid-template-columns:1fr}.lote-hero,.nf-consulta{grid-template-columns:1fr}.cta-mod{flex-direction:column;align-items:flex-start}.metro{min-height:0}.m-loc text{font-size:17px}}
@media (prefers-reduced-motion:reduce){.m-ruta,.m-camion,.cn-huevo,.cn-haz,.cn-sal,.m-loc .halo,.mp-huevo,.hl-cod tspan,.mod,.premio,.modp__c,.gs-fila{animation:none!important}.hl-cod tspan{opacity:.88}.m-ruta{stroke-dashoffset:0}.m-camion{display:none}}

/* ---------- ajustes de marca sobre el motor ---------- */
.card--rojo{background:linear-gradient(135deg,#005CA9 0%,#013662 100%)!important;border-color:#013662!important}
.card--negro .stack div{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2)}
.card--negro .stack b{color:#fff}.card--negro .stack b small{color:#C9E6FF}.card--negro .stack span{color:#DCEBFA}
.pblo b{font-size:26px;white-space:nowrap}
.modp .precios{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.marca__emb .wm-svg svg{width:30px;height:auto}
.nombre-cad{white-space:normal!important;min-width:180px;max-width:260px;font-size:11px}
.metro__ley{position:static;padding:10px 14px 14px}
