/* ═════════ Espacios publicitarios (2026-10-08) ═════════
   Cuatro tipos, siempre rotulados ("Publicidad" / "Destacado") y mezclados en el flujo:
   1 .pub-banner  → banner rotativo (inicio, categoría, listados)
   2 .pub-dest    → tarjetas destacadas en la primera fila de un listado
   3 .pub-prov    → proveedores destacados en la ficha de producto
   4 .pub-emp     → empresa destacada en el directorio (ya con .patrocinada)
   Se administran desde Admin → Publicidad. En producción llega en Etapa 3; la maqueta los muestra todos. */

.pub-rotulo{position:absolute;top:10px;right:12px;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.75);background:rgba(11,20,36,.45);padding:3px 8px;border-radius:999px;z-index:2;pointer-events:none}
.pub-rotulo.claro{color:#6B7280;background:#F5F6F7}

/* 1 · Banner rotativo */
.pub-banner{position:relative;border-radius:16px;overflow:hidden;background:#0B1424;min-height:200px;aspect-ratio:1600/260;margin:28px 0 8px}
.pub-banner .slide{position:absolute;inset:0;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;opacity:0;transition:opacity .6s ease;color:#fff}
.pub-banner .slide.on{opacity:1}
.pub-banner .slide .tx{padding:28px 44px;max-width:620px}
.pub-banner .slide .ey{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#FF9A5C;margin-bottom:8px}
.pub-banner .slide h3{font-size:30px;line-height:1.1;letter-spacing:-.025em;margin:0 0 8px;color:#fff}
.pub-banner .slide p{margin:0 0 16px;color:rgba(255,255,255,.75);font-size:15px}
.pub-banner .slide .marca-l{display:inline-flex;align-items:center;gap:10px;font-size:13px;color:rgba(255,255,255,.7)}
.pub-banner .slide .marca-l img{height:28px;width:auto;background:#fff;border-radius:6px;padding:3px 6px}
.pub-banner .slide .img{position:relative;height:100%;overflow:hidden}
.pub-banner .slide .img img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.pub-banner .slide .img::before{content:"";position:absolute;left:0;top:0;bottom:0;width:40%;background:linear-gradient(90deg,#0B1424,transparent);z-index:1}
.pub-banner .slide.verde{background:#0E2A1C}.pub-banner .slide.verde .img::before{background:linear-gradient(90deg,#0E2A1C,transparent)}.pub-banner .slide.verde .ey{color:#7EE2A0}
.pub-banner .slide.gris{background:#1E2733}.pub-banner .slide.gris .img::before{background:linear-gradient(90deg,#1E2733,transparent)}
.pub-banner .puntos{position:absolute;right:44px;bottom:16px;display:flex;gap:6px;z-index:2}
.pub-banner .puntos button{width:8px;height:8px;border-radius:50%;border:0;background:rgba(255,255,255,.35);padding:0;min-height:0;cursor:pointer}
.pub-banner .puntos button.on{background:#fff;width:22px;border-radius:999px}
.pub-banner .flecha{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:0;background:rgba(255,255,255,.14);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;min-height:0;padding:0;opacity:0;transition:opacity .2s}
.pub-banner:hover .flecha{opacity:1}
.pub-banner .flecha.ant{left:12px;transform:translateY(-50%) rotate(180deg)}.pub-banner .flecha.sig{right:12px}
.pub-banner .flecha .i{width:18px;height:18px}
@media(max-width:900px){.pub-banner{aspect-ratio:auto;min-height:0}.pub-banner .slide{position:relative;grid-template-columns:1fr;display:none}.pub-banner .slide.on{display:block}.pub-banner .slide .img{height:150px}.pub-banner .slide .tx{padding:20px 20px 40px}.pub-banner .slide h3{font-size:22px}.pub-banner .puntos{left:20px;right:auto}}

/* 2 · Destacados en primera fila de listado */
.pub-dest{display:grid;grid-template-columns:repeat(var(--cols,5),minmax(0,1fr));gap:16px;margin-bottom:16px;position:relative}
.pub-dest .cab{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#8A919C;letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin-bottom:-4px}
.pub-dest .cab a{text-transform:none;letter-spacing:0;font-weight:500;color:var(--naranja-osc)}
.pub-dest .prod,.pub-dest .sv{border-color:var(--naranja)!important;position:relative}
.pub-dest .prod::after,.pub-dest .sv::after{content:"Destacado";position:absolute;top:10px;left:10px;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--naranja);padding:3px 8px;border-radius:999px;z-index:2}
.pub-dest.sv-grid{--cols:3}
@media(max-width:1100px){.pub-dest{--cols:3}}@media(max-width:700px){.pub-dest{--cols:2}}

/* 3 · Proveedores destacados en ficha de producto */
.pub-prov{margin-top:16px}
.pub-prov .cab{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.pub-prov .cab b{font-size:14px;font-weight:600}
.pub-prov .cab span{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#6B7280;background:#F5F6F7;padding:3px 8px;border-radius:999px}
.pub-prov .pv{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--linea);border-radius:12px;background:#fff;margin-bottom:8px}
.pub-prov .pv:first-of-type{border-color:var(--naranja)}
.pub-prov .pv .ph.logo{width:48px;height:48px;border-radius:10px;padding:6px}
.pub-prov .pv .nm{font-size:14px;font-weight:600;display:flex;align-items:center;gap:5px;line-height:1.25}
.pub-prov .pv .nm .i{width:15px;height:15px;color:var(--verde)}
.pub-prov .pv .dt{font-size:12.5px;color:var(--gris);display:flex;gap:6px;flex-wrap:wrap;margin-top:2px}
.pub-prov .pv .btn{min-height:36px;padding:0 12px;font-size:13px;white-space:nowrap}
.pub-prov .pub-nota{font-size:12px;color:#8A919C;margin-top:6px}
.pub-prov .pub-nota a{color:var(--naranja-osc)}

/* 4 · Empresa destacada en directorio (refuerza .patrocinada existente) */
.em.patrocinada,.emp.patrocinada{border-color:var(--naranja)!important;position:relative}
/* etiqueta "Empresa destacada" (misma en inicio y directorio) */
.pat{display:inline-flex;align-self:flex-start;font-size:10px;line-height:1;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#A63E09;background:#FFF1E8;padding:5px 8px;border-radius:999px;margin-bottom:6px}
.emp .identidad .pat{margin-bottom:4px}
/* banner dentro de la fila de promos del inicio: misma altura que la tarjeta vecina */
.promos>.pub-banner{margin:0;aspect-ratio:auto;min-height:100%;height:100%}
/* destacados de servicios: misma grilla que #svGrid */
.pub-dest.sv-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 20px;margin-bottom:28px}
.pub-dest.sv-grid .sv .foto{position:relative;display:block;aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:#F5F6F7}
.pub-dest.sv-grid .sv .foto img{width:100%;height:100%;object-fit:cover;display:block}
.pub-dest.sv-grid .sv .foto .et{position:absolute;left:10px;bottom:10px;font-size:12px;background:#fff;color:var(--tinta);padding:4px 10px;border-radius:999px}
.pub-dest.sv-grid .sv .cuerpo{padding:12px 2px 0;display:flex;flex-direction:column;gap:5px}
.pub-dest.sv-grid .sv .tit{font-size:15px;font-weight:600;color:var(--tinta);line-height:1.35}
.pub-dest.sv-grid .sv .ub,.pub-dest.sv-grid .sv .emp{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--gris)}
.pub-dest.sv-grid .sv .emp .i{color:var(--verde)}
.pub-dest.sv-grid .sv::after{top:10px;left:10px}
@media(max-width:900px){.pub-dest.sv-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.pub-dest.sv-grid{grid-template-columns:1fr}}
/* banner: nunca más ancho que su contenedor */
.pub-banner{width:100%;max-width:100%;box-sizing:border-box}
.pub-banner .slide .img img{max-width:100%}
/* proveedores destacados en columna angosta (ficha de producto): logo + datos apilados, botón a todo el ancho */
.pub-prov .pv{grid-template-columns:44px minmax(0,1fr);gap:10px 12px;padding:12px 14px}
.pub-prov .pv .nm{font-size:14px}
.pub-prov .pv .dt{display:flex;flex-direction:column;gap:2px;font-size:12.5px;margin-top:2px}
.pub-prov .pv .dt span{display:inline-flex;align-items:center;gap:5px}
.pub-prov .pv .dt .sep{display:none}
.pub-prov .pv .btn{grid-column:1/-1;width:100%;min-height:36px;justify-content:center}
