/*
Theme Name: Pura PYME
Theme URI: https://purapyme.com
Author: Colmena Comunicación
Author URI: https://colmenacomunicacion.com
Description: Tema para la comunidad de pymes Pura PYME. Incluye directorio de empresas, portada con novedades y pymes destacadas, plantillas para podcast y chat comunitario.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pura-pyme
Tags: blog, community, custom-logo, custom-menu, featured-images, two-columns
*/

/* ===== Variables (colores del logo) ===== */
:root {
  --pp-azul: #21386f;      /* azul marino del "Pura" */
  --pp-celeste: #6fa8b8;   /* celeste del globo de diálogo */
  --pp-naranja: #f29b38;   /* naranja del "PYME" */
  --pp-crema: #f7efe3;     /* fondo crema */
  --pp-blanco: #ffffff;
  --pp-texto: #2b3245;
  --pp-radius: 18px;
  --pp-sombra: 0 6px 24px rgba(33, 56, 111, 0.10);
}

/* ===== Base ===== */
* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: 'Baloo 2', 'Segoe UI', sans-serif;
  font-size: 17px;
  line-height: 1.65;
  color: var(--pp-texto);
  background: var(--pp-crema);
}

img { max-width: 100%; height: auto; }

a { color: var(--pp-azul); }
a:hover { color: var(--pp-naranja); }

h1, h2, h3, h4 {
  font-family: 'Baloo 2', sans-serif;
  font-weight: 800;
  color: var(--pp-azul);
  line-height: 1.2;
}

.pp-script { font-family: 'Pacifico', cursive; font-weight: 400; }
.pp-naranja { color: var(--pp-naranja); }

.pp-contenedor {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 20px;
}

/* ===== Botones ===== */
.pp-boton,
button, input[type="submit"] {
  display: inline-block;
  background: var(--pp-naranja);
  color: #fff !important;
  border: none;
  border-radius: 999px;
  padding: 12px 30px;
  font-family: 'Baloo 2', sans-serif;
  font-weight: 700;
  font-size: 17px;
  text-decoration: none;
  cursor: pointer;
  transition: transform .15s ease, background .15s ease;
}
.pp-boton:hover, button:hover, input[type="submit"]:hover {
  background: var(--pp-azul);
  transform: translateY(-2px);
}
.pp-boton--secundario { background: var(--pp-celeste); }
.pp-boton--contorno {
  background: transparent;
  color: var(--pp-azul) !important;
  border: 2px solid var(--pp-azul);
}

/* ===== Cabecera ===== */
.pp-header {
  background: var(--pp-blanco);
  box-shadow: var(--pp-sombra);
  position: sticky;
  top: 0;
  z-index: 100;
}
.pp-header__interior {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 20px;
  max-width: 1140px;
  margin: 0 auto;
  flex-wrap: wrap;
}
.pp-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.pp-logo img { max-height: 60px; width: auto; }
.pp-logo__texto { font-size: 30px; text-decoration: none; }
.pp-logo__texto .pura { font-family: 'Pacifico', cursive; color: var(--pp-azul); }
.pp-logo__texto .pyme { font-family: 'Baloo 2', sans-serif; font-weight: 800; color: var(--pp-naranja); text-transform: uppercase; }

.pp-menu ul { list-style: none; display: flex; gap: 6px; margin: 0; padding: 0; flex-wrap: wrap; }
.pp-menu a {
  display: block;
  padding: 8px 14px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  color: var(--pp-azul);
}
.pp-menu a:hover, .pp-menu .current-menu-item > a {
  background: var(--pp-crema);
  color: var(--pp-naranja);
}

/* ===== Héroe (portada) ===== */
.pp-heroe {
  background: linear-gradient(135deg, var(--pp-azul) 0%, #2c4a8f 100%);
  color: #fff;
  padding: 80px 20px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.pp-heroe::after {
  content: "";
  position: absolute;
  right: -80px; top: -80px;
  width: 300px; height: 300px;
  border-radius: 50%;
  background: rgba(111, 168, 184, .25);
}
.pp-heroe h1 { color: #fff; font-size: clamp(34px, 5vw, 56px); margin: 0 0 10px; }
.pp-heroe h1 .pp-script { color: var(--pp-celeste); }
.pp-heroe h1 .pp-naranja { color: var(--pp-naranja); }
.pp-heroe p { font-size: 20px; max-width: 640px; margin: 0 auto 30px; opacity: .92; }
.pp-heroe .pp-boton { margin: 0 8px 10px; }

/* ===== Secciones ===== */
.pp-seccion { padding: 60px 0; }
.pp-seccion--blanca { background: var(--pp-blanco); }
.pp-seccion__titulo { text-align: center; font-size: 34px; margin: 0 0 8px; }
.pp-seccion__sub { text-align: center; margin: 0 auto 40px; max-width: 600px; color: #5a6378; }

/* ===== Tarjetas ===== */
.pp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 28px; }

.pp-tarjeta {
  background: var(--pp-blanco);
  border-radius: var(--pp-radius);
  box-shadow: var(--pp-sombra);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .15s ease;
}
.pp-tarjeta:hover { transform: translateY(-4px); }
.pp-tarjeta__imagen img { width: 100%; height: 200px; object-fit: cover; display: block; }
.pp-tarjeta__cuerpo { padding: 22px 24px 26px; flex: 1; }
.pp-tarjeta__cuerpo h3 { margin: 0 0 8px; font-size: 21px; }
.pp-tarjeta__cuerpo h3 a { text-decoration: none; }
.pp-tarjeta__meta { font-size: 14px; color: #8a91a5; margin-bottom: 8px; }

.pp-etiqueta {
  display: inline-block;
  background: var(--pp-naranja);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  border-radius: 999px;
  padding: 3px 12px;
  margin-bottom: 10px;
}
.pp-etiqueta--celeste { background: var(--pp-celeste); }

/* ===== Directorio ===== */
.pp-empresa__contacto { list-style: none; margin: 14px 0 0; padding: 0; font-size: 15px; }
.pp-empresa__contacto li { margin-bottom: 6px; }
.pp-empresa__contacto a { text-decoration: none; font-weight: 600; }

/* ===== Contenido / blog ===== */
.pp-contenido {
  background: var(--pp-blanco);
  border-radius: var(--pp-radius);
  box-shadow: var(--pp-sombra);
  padding: 40px;
  margin: 40px auto;
  max-width: 820px;
}
.pp-contenido h1.entry-title { margin-top: 0; }
.pp-contenido img { border-radius: 12px; }

/* ===== Podcast ===== */
.pp-podcast-embed iframe { width: 100%; border: 0; border-radius: var(--pp-radius); }
.pp-video-marco {
  position: relative; padding-bottom: 56.25%; height: 0;
  border-radius: var(--pp-radius); overflow: hidden; box-shadow: var(--pp-sombra);
}
.pp-video-marco iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ===== Redes ===== */
.pp-redes { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.pp-redes a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--pp-celeste); color: #fff !important;
  text-decoration: none; font-weight: 800; font-size: 15px;
  transition: background .15s ease;
}
.pp-redes a:hover { background: var(--pp-naranja); }

/* ===== Formularios ===== */
input[type="text"], input[type="email"], input[type="url"],
input[type="password"], input[type="tel"], textarea, select {
  width: 100%;
  padding: 11px 14px;
  border: 2px solid #dfd7c8;
  border-radius: 12px;
  font-family: inherit;
  font-size: 16px;
  background: #fff;
}
input:focus, textarea:focus { outline: none; border-color: var(--pp-celeste); }
label { font-weight: 700; color: var(--pp-azul); }

/* ===== Aviso chat / cajas ===== */
.pp-aviso {
  background: var(--pp-blanco);
  border-left: 6px solid var(--pp-celeste);
  border-radius: 12px;
  padding: 20px 24px;
  box-shadow: var(--pp-sombra);
  margin: 24px 0;
}

/* ===== Pie de página ===== */
.pp-footer {
  background: var(--pp-azul);
  color: #cfd8ec;
  padding: 50px 0 30px;
  margin-top: 60px;
}
.pp-footer a { color: #fff; text-decoration: none; }
.pp-footer a:hover { color: var(--pp-naranja); }
.pp-footer__columnas {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 30px;
  margin-bottom: 30px;
}
.pp-footer h4 { color: #fff; margin-top: 0; }
.pp-footer ul { list-style: none; margin: 0; padding: 0; }
.pp-footer li { margin-bottom: 8px; }
.pp-footer__creditos {
  border-top: 1px solid rgba(255,255,255,.15);
  padding-top: 20px;
  text-align: center;
  font-size: 14px;
}

/* ===== Paginación ===== */
.pp-paginacion { text-align: center; margin: 40px 0; }
.pp-paginacion .page-numbers {
  display: inline-block; padding: 8px 16px; margin: 0 3px;
  background: #fff; border-radius: 999px; text-decoration: none; font-weight: 700;
}
.pp-paginacion .current { background: var(--pp-naranja); color: #fff; }

/* ===== Dinamismo y diversión ===== */
@keyframes pp-flotar {
  0%, 100% { transform: translateY(0) rotate(-3deg); }
  50% { transform: translateY(-10px) rotate(-3deg); }
}
@keyframes pp-marquesina {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@keyframes pp-titilar {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: .5; transform: scale(.8); }
}

/* Burbujas decorativas del héroe (como el globo del logo) */
.pp-heroe::before {
  content: "";
  position: absolute;
  left: -100px; bottom: -120px;
  width: 340px; height: 340px;
  border-radius: 50%;
  border: 16px solid rgba(242, 155, 56, .35);
}
.pp-heroe__chispa {
  position: absolute;
  width: 10px; height: 46px;
  border-radius: 999px;
  background: var(--pp-naranja);
  animation: pp-titilar 2.4s ease-in-out infinite;
}
.pp-heroe__chispa--1 { top: 60px; right: 16%; transform: rotate(28deg); }
.pp-heroe__chispa--2 { top: 40px; right: 12%; transform: rotate(0deg); animation-delay: .4s; }
.pp-heroe__chispa--3 { top: 64px; right: 8%; transform: rotate(-28deg); animation-delay: .8s; }

/* Insignia flotante del héroe */
.pp-badge-flotante {
  display: inline-block;
  background: #fff;
  color: var(--pp-azul);
  border-radius: 999px;
  padding: 8px 22px;
  font-weight: 800;
  font-size: 16px;
  transform: rotate(-3deg);
  animation: pp-flotar 4s ease-in-out infinite;
  margin-bottom: 22px;
  box-shadow: var(--pp-sombra);
}

/* Cinta animada (marquesina) */
.pp-ticker {
  background: var(--pp-naranja);
  color: #fff;
  overflow: hidden;
  padding: 13px 0;
}
.pp-ticker__pista {
  display: flex;
  gap: 46px;
  width: max-content;
  white-space: nowrap;
  font-weight: 800;
  font-size: 18px;
  animation: pp-marquesina 22s linear infinite;
}
.pp-ticker__pista span { display: inline-flex; align-items: center; gap: 46px; }

/* Tarjetas juguetonas: levemente inclinadas, se enderezan al pasar el mouse */
.pp-grid--vivo .pp-tarjeta:nth-child(odd) { transform: rotate(-1.3deg); }
.pp-grid--vivo .pp-tarjeta:nth-child(even) { transform: rotate(1.3deg); }
.pp-grid--vivo .pp-tarjeta:hover { transform: rotate(0deg) translateY(-8px) scale(1.02); }

.pp-etiqueta--girada { transform: rotate(-4deg); }

/* PYME de la semana (bloque destacado de portada) */
.pp-spotlight {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 0;
  background: var(--pp-celeste);
  border-radius: 28px;
  overflow: hidden;
  box-shadow: var(--pp-sombra);
  position: relative;
}
.pp-spotlight__texto { padding: 44px 40px; color: #fff; position: relative; }
.pp-spotlight__texto h3 { color: #fff; font-size: 30px; margin: 12px 0 10px; }
.pp-spotlight__texto h3 a { color: #fff; text-decoration: none; }
.pp-spotlight__texto p { font-size: 17px; opacity: .95; }
.pp-spotlight__cinta {
  display: inline-block;
  background: var(--pp-azul);
  color: #fff;
  font-weight: 800;
  border-radius: 999px;
  padding: 6px 18px;
  transform: rotate(-3deg);
}
.pp-spotlight__imagen img { width: 100%; height: 100%; object-fit: cover; display: block; min-height: 260px; }
.pp-spotlight__imagen--vacia {
  background: repeating-linear-gradient(45deg, #7fb3c2, #7fb3c2 24px, #6fa8b8 24px, #6fa8b8 48px);
  min-height: 260px;
}
@media (max-width: 760px) {
  .pp-spotlight { grid-template-columns: 1fr; }
}

/* Ondas divisorias entre secciones */
.pp-onda { line-height: 0; }
.pp-onda svg { width: 100%; height: 46px; display: block; }

/* Botones con rebote */
.pp-boton:active { transform: scale(.96); }

/* Respeto por quienes prefieren menos movimiento */
@media (prefers-reduced-motion: reduce) {
  .pp-badge-flotante, .pp-heroe__chispa, .pp-ticker__pista { animation: none; }
}

/* ===== Responsive ===== */
@media (max-width: 700px) {
  .pp-header__interior { justify-content: center; }
  .pp-heroe { padding: 50px 20px; }
  .pp-contenido { padding: 26px 20px; }
}


/* ===== Logo personalizado (cabecera) ===== */
.custom-logo-link {
  display: inline-flex;
  align-items: center;
}
.custom-logo-link img,
img.custom-logo {
  max-height: 68px;
  width: auto;
}


/* ===== Ficha individual de empresa (perfil) ===== */
.pp-empresa__ubicacion {
	margin: 0 0 18px;
	color: #5a6378;
	font-weight: 600;
}
.pp-empresa__resumen {
	font-size: 19px;
	color: var(--pp-azul);
	font-weight: 600;
}
.pp-compartir {
	margin-top: 34px;
	padding-top: 24px;
	border-top: 2px solid var(--pp-crema);
}
.pp-compartir__enlace {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	align-items: center;
}
.pp-compartir__enlace input[type="text"] {
	flex: 1;
	min-width: 220px;
}


/* ===== Acciones de la cabecera (Únete / Ya tengo cuenta) ===== */
.pp-header__acciones {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}


/* ===== Corrección: texto invisible en botones de contorno al pasar el mouse ===== */
.pp-boton--contorno:hover {
	background: var(--pp-azul);
	color: #fff !important;
}


/* ===== Filtros del directorio ===== */
.pp-filtros {
	background: var(--pp-blanco);
	border-radius: var(--pp-radius);
	box-shadow: var(--pp-sombra);
	padding: 24px;
	margin-bottom: 34px;
}
.pp-filtros__fila {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 12px;
}
.pp-filtros__fila:last-child {
	margin-bottom: 0;
}
.pp-filtros__fila input[type="text"] {
	width: 100%;
}
.pp-filtros__selects select {
	flex: 1;
	min-width: 170px;
}
.pp-filtros__selects .pp-boton,
.pp-filtros__selects .pp-boton--contorno {
	flex: 0 0 auto;
}
@media (max-width: 700px) {
	.pp-filtros__selects select,
	.pp-filtros__selects .pp-boton,
	.pp-filtros__selects .pp-boton--contorno {
		flex: 1 1 100%;
	}
}

/* ===== Comunidad: chat + actividades ===== */
.pp-comunidad{background:linear-gradient(180deg,#f7efe3 0,#fff 42%)}
.pp-comunidad-encabezado{text-align:center;max-width:780px;margin:0 auto 32px}.pp-comunidad-encabezado p{font-size:18px;color:#5c6475}
.pp-comunidad-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(310px,.85fr);gap:26px;align-items:start}
.pp-comunidad-chat,.pp-comunidad-eventos{background:#fff;border:1px solid rgba(33,56,111,.12);border-radius:22px;box-shadow:var(--pp-sombra);overflow:hidden}
.pp-panel-titulo,.pp-eventos-cabecera{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;background:#21386f;color:#fff}
.pp-panel-titulo>div{display:flex;gap:12px;align-items:center}.pp-panel-titulo>div>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#f29b38;font-size:22px}.pp-panel-titulo h2,.pp-eventos-cabecera h2{margin:0;color:#fff;font-size:21px}.pp-panel-titulo p{margin:3px 0 0;color:#dbe4f7;font-size:13px}.pp-en-linea{font-size:12px;background:rgba(111,168,184,.24);border:1px solid #6fa8b8;border-radius:999px;padding:6px 10px;white-space:nowrap}.pp-en-linea:before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:#70d99a;margin-right:6px}
.pp-chat-marco{padding:14px;background:#f5f8fb}.pp-chat-marco .wcContainer{border:0!important;border-radius:16px!important;overflow:hidden!important;box-shadow:none!important}.pp-chat-marco .wcTitle{background:#6fa8b8!important;color:#fff!important;font-weight:700!important}.pp-chat-marco .wcMessage{border-radius:12px!important}.pp-chat-marco .wcCurrentUser .wcContent{background:#fff3e4!important;border-color:#f29b38!important}.pp-chat-marco .wcInput{border:2px solid #d8e0eb!important;border-radius:12px!important;background:#fff!important}.pp-chat-marco .wcBrowser{background:#eef4f6!important}.pp-chat-acceso{margin:24px}
.pp-comunidad-eventos{position:sticky;top:18px}.pp-eventos-cabecera{background:linear-gradient(135deg,#21386f,#304f90)}.pp-eventos-eyebrow{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;color:#f29b38;margin-bottom:3px}.pp-boton--mini{padding:8px 12px!important;font-size:13px!important}.pp-eventos-lista{padding:10px 16px 4px}.pp-evento-card{display:grid;grid-template-columns:58px 1fr;gap:13px;padding:15px 0;border-bottom:1px solid #edf0f5}.pp-evento-card:last-child{border-bottom:0}.pp-evento-fecha{border-radius:13px;background:#f7efe3;text-align:center;overflow:hidden;border:1px solid #eadac6}.pp-evento-fecha strong{display:block;font-size:24px;line-height:1.1;padding:8px 3px 2px;color:#21386f}.pp-evento-fecha span{display:block;background:#f29b38;color:#fff;font-size:11px;text-transform:uppercase;font-weight:800;padding:4px}.pp-evento-tipo{color:#6fa8b8;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.pp-evento-info h3{font-size:15px;margin:3px 0}.pp-evento-info h3 a{color:#21386f;text-decoration:none}.pp-evento-info p{font-size:12px;color:#6b7280;margin:0}.pp-evento-editar{font-size:12px;color:#f29b38;font-weight:700}.pp-eventos-vacio,.pp-eventos-login{text-align:center;padding:30px 20px;color:#6b7280}.pp-eventos-vacio span{font-size:34px}.pp-eventos-login{border-top:1px solid #edf0f5}.pp-aviso--ok{margin:14px;background:#edf9f1;border-left-color:#38a169}
.pp-evento-form-wrap{border-top:1px solid #edf0f5}.pp-evento-form-wrap summary{cursor:pointer;padding:17px 20px;font-weight:800;color:#21386f;background:#fbfaf8}.pp-evento-form{padding:18px 20px;max-height:65vh;overflow:auto}.pp-evento-form label{display:block;font-weight:700;color:#2b3245;font-size:13px;margin-bottom:12px}.pp-evento-form input,.pp-evento-form select,.pp-evento-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:10px 11px;border:1px solid #ccd4df;border-radius:10px;background:#fff;font:inherit}.pp-evento-form input:focus,.pp-evento-form select:focus,.pp-evento-form textarea:focus{outline:2px solid rgba(111,168,184,.35);border-color:#6fa8b8}.pp-form-dos{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pp-autorrelleno{display:flex!important;align-items:center;gap:8px;padding:10px;border-radius:10px;background:#eef5f7}.pp-autorrelleno input{width:auto!important;margin:0!important}.pp-form-nota{font-size:11px;color:#6b7280;line-height:1.4}.pp-evento-detalle,.pp-evento-contacto{padding:18px 20px;border-radius:16px;background:#f7efe3;margin:18px 0}.pp-evento-contacto{background:#eef5f7}
@media(max-width:900px){.pp-comunidad-grid{grid-template-columns:1fr}.pp-comunidad-eventos{position:static}.pp-en-linea{display:none}}
@media(max-width:560px){.pp-comunidad-grid{gap:18px}.pp-panel-titulo,.pp-eventos-cabecera{padding:16px}.pp-chat-marco{padding:6px}.pp-form-dos{grid-template-columns:1fr}.pp-evento-form{max-height:none}.pp-comunidad-encabezado{text-align:left}.pp-comunidad-encabezado p{font-size:16px}}

/* ===== Hub de Contenido ===== */
.pp-contenido-hub{background:linear-gradient(180deg,#f7efe3 0,#fff 36%)}
.pp-contenido-encabezado{text-align:center;max-width:760px;margin:0 auto 34px}.pp-contenido-encabezado p{font-size:18px;color:#5c6475}
.pp-contenido-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.85fr);gap:28px;align-items:start}
.pp-contenido-media{display:grid;gap:24px}.pp-contenido-intro,.pp-media-panel,.pp-contenido-blog{background:#fff;border:1px solid rgba(33,56,111,.12);border-radius:22px;box-shadow:var(--pp-sombra);overflow:hidden}.pp-contenido-intro{padding:22px}
.pp-media-panel{padding:22px}.pp-media-panel__titulo{display:flex;align-items:center;gap:13px;margin-bottom:20px}.pp-media-panel__titulo>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#f7efe3;font-size:25px}.pp-media-panel__titulo h2{margin:0;color:#21386f;font-size:24px}.pp-media-panel__titulo p{margin:3px 0 0;color:#6b7280;font-size:14px}.pp-media-panel .pp-podcast-embed{margin:0}.pp-media-accion{text-align:center;margin:20px 0 0}
.pp-contenido-blog{position:sticky;top:18px}.pp-blog-cabecera{padding:22px;background:linear-gradient(135deg,#21386f,#304f90);color:#fff}.pp-blog-cabecera h2{margin:2px 0 5px;color:#fff;font-size:25px}.pp-blog-cabecera p{margin:0;color:#dbe4f7;font-size:14px}.pp-blog-lista{padding:8px 17px}.pp-blog-card{display:grid;grid-template-columns:88px 1fr;gap:13px;padding:15px 0;border-bottom:1px solid #edf0f5}.pp-blog-card:last-child{border-bottom:0}.pp-blog-card__imagen{display:block;height:82px;border-radius:12px;overflow:hidden;background:#eef1f5}.pp-blog-card__imagen img{width:100%;height:100%;object-fit:cover}.pp-blog-card__cuerpo time{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#f29b38;font-weight:800}.pp-blog-card__cuerpo h3{font-size:15px;line-height:1.25;margin:4px 0}.pp-blog-card__cuerpo h3 a{color:#21386f;text-decoration:none}.pp-blog-card__cuerpo p{font-size:12px;line-height:1.4;color:#6b7280;margin:0 0 5px}.pp-blog-leer{font-size:12px;color:#6fa8b8;font-weight:800;text-decoration:none}
@media(max-width:900px){.pp-contenido-grid{grid-template-columns:1fr}.pp-contenido-blog{position:static}}
@media(max-width:560px){.pp-contenido-encabezado{text-align:left}.pp-contenido-encabezado p{font-size:16px}.pp-media-panel{padding:16px}.pp-blog-card{grid-template-columns:74px 1fr}.pp-blog-card__imagen{height:72px}}

/* Entradas sin miniatura: usar todo el ancho disponible */
.pp-blog-card__cuerpo:first-child{grid-column:1/-1}

/* Página de entrevistas: encabezado compacto */
.pp-contenido:has(.pp-entrevistas){max-width:1140px;padding:0;overflow:hidden}
.pp-contenido:has(.pp-entrevistas)>h1.entry-title{display:none}
.pp-entrevistas{margin-top:0!important}
.pp-entrevistas-hero{padding:44px 28px!important;min-height:0!important}
.pp-entrevistas-hero h1{max-width:760px!important;margin:6px auto 12px!important;font-size:clamp(30px,4vw,46px)!important;line-height:1.08!important}
.pp-entrevistas-hero p{max-width:650px!important;margin:0 auto 20px!important;font-size:17px!important;line-height:1.5!important}
.pp-entrevistas-hero .pp-boton{padding:10px 24px!important;font-size:16px!important}
@media(max-width:560px){.pp-entrevistas-hero{padding:34px 20px!important}.pp-entrevistas-hero h1{font-size:32px!important}}


/* ===== Formulario de contacto en la ficha ===== */
.pp-contacto-empresa {
  margin-top: 30px;
  padding: 20px;
  background: var(--pp-crema);
  border-radius: var(--pp-radius);
}
.pp-form p { margin: 0 0 14px; }
.pp-form label { display: block; font-weight: 600; color: var(--pp-texto); margin-bottom: 6px; }
.pp-form input, .pp-form textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid rgba(33,56,111,0.2);
  border-radius: 10px;
  font-family: inherit;
  font-size: 16px;
}
.pp-aviso--error { border-left-color: #d9534f; }

/* ===== Tablero CRM ===== */
.pp-crm__cabecera {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
}
.pp-crm__tablero {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 10px;
}
.pp-crm__columna {
  flex: 0 0 260px;
  background: var(--pp-crema);
  border-radius: var(--pp-radius);
  padding: 12px;
}
.pp-crm__columna-titulo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 700;
  color: var(--pp-azul);
  margin-bottom: 10px;
  padding: 0 4px;
}
.pp-crm__total {
  background: var(--pp-naranja);
  color: #fff;
  border-radius: 20px;
  padding: 2px 10px;
  font-size: 13px;
}
.pp-crm__lista {
  min-height: 60px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pp-crm__lista--activa {
  outline: 2px dashed var(--pp-celeste);
  outline-offset: 4px;
  border-radius: 10px;
}
.pp-crm__tarjeta {
  background: var(--pp-blanco);
  border-radius: 12px;
  box-shadow: var(--pp-sombra);
  padding: 12px;
  cursor: grab;
}
.pp-crm__tarjeta--arrastrando { opacity: 0.4; }
.pp-crm__nombre { font-weight: 700; margin: 0 0 6px; color: var(--pp-texto); }
.pp-crm__dato { margin: 0 0 4px; font-size: 14px; color: var(--pp-texto); }
.pp-crm__mensaje { font-style: italic; opacity: 0.8; }
.pp-crm__campo { margin: 8px 0 0; }
.pp-crm__campo input {
  width: 100%;
  padding: 6px 8px;
  border: 1px solid rgba(33,56,111,0.2);
  border-radius: 8px;
  font-family: inherit;
  font-size: 14px;
}

/* ===== Rediseño tipo tablero (estilo Monday) ===== */
.pp-crm__tablero {
  background: #f6f7fb;
  padding: 16px;
  border-radius: var(--pp-radius);
}
.pp-crm__columna {
  background: #fff;
  box-shadow: 0 1px 3px rgba(33,56,111,0.08);
  border-top: 4px solid #c9ceda;
}
.pp-crm__columna--nuevo { border-top-color: #4098d7; }
.pp-crm__columna--contactado { border-top-color: #f29b38; }
.pp-crm__columna--propuesta { border-top-color: #a970ff; }
.pp-crm__columna--ganado { border-top-color: #00c875; }
.pp-crm__columna--perdido { border-top-color: #e2445c; }

.pp-crm__columna--nuevo .pp-crm__total { background: #4098d7; }
.pp-crm__columna--contactado .pp-crm__total { background: #f29b38; }
.pp-crm__columna--propuesta .pp-crm__total { background: #a970ff; }
.pp-crm__columna--ganado .pp-crm__total { background: #00c875; }
.pp-crm__columna--perdido .pp-crm__total { background: #e2445c; }

.pp-crm__tarjeta {
  border-radius: 10px;
  box-shadow: 0 1px 3px rgba(33,56,111,0.10);
  border-left: 4px solid #c9ceda;
  transition: box-shadow .15s ease, transform .15s ease;
}
.pp-crm__tarjeta:hover {
  box-shadow: 0 6px 16px rgba(33,56,111,0.16);
  transform: translateY(-2px);
}
.pp-crm__columna--nuevo .pp-crm__tarjeta { border-left-color: #4098d7; }
.pp-crm__columna--contactado .pp-crm__tarjeta { border-left-color: #f29b38; }
.pp-crm__columna--propuesta .pp-crm__tarjeta { border-left-color: #a970ff; }
.pp-crm__columna--ganado .pp-crm__tarjeta { border-left-color: #00c875; }
.pp-crm__columna--perdido .pp-crm__tarjeta { border-left-color: #e2445c; }

.pp-crm__agregar {
  width: 100%;
  background: transparent;
  border: 1px dashed rgba(33,56,111,0.3);
  border-radius: 8px;
  padding: 8px;
  color: var(--pp-azul) !important;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  margin-top: 4px;
}
.pp-crm__agregar:hover { background: rgba(33,56,111,0.06); }

.pp-crm__nuevo-form {
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: #fff;
  border-radius: 10px;
  padding: 10px;
  box-shadow: 0 1px 3px rgba(33,56,111,0.10);
  margin-top: 4px;
}
.pp-crm__nuevo-form input {
  padding: 6px 8px;
  border: 1px solid rgba(33,56,111,0.2);
  border-radius: 8px;
  font-family: inherit;
  font-size: 13px;
}
.pp-crm__nf-botones { display: flex; gap: 8px; margin-top: 2px; }
.pp-crm__nf-botones .pp-boton { padding: 6px 14px; font-size: 13px; }

/* La página del CRM usa todo el ancho disponible del sitio */
.pp-contenido:has(.pp-crm) {
  max-width: 1140px;
}
.pp-crm__columna { flex: 0 0 280px; }

/* ===== Barra lateral y paneles del CRM ===== */
.pp-crm__layout {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}
.pp-crm__nav {
  flex: 0 0 200px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  position: sticky;
  top: 20px;
}
.pp-crm__nav-btn {
  text-align: left;
  background: #fff;
  border: 1px solid rgba(33,56,111,0.12);
  border-radius: 10px;
  padding: 12px 14px;
  font-family: inherit;
  font-weight: 600;
  font-size: 15px;
  color: var(--pp-texto) !important;
  cursor: pointer;
  transition: background .15s, border-color .15s;
}
.pp-crm__nav-btn:hover { background: var(--pp-crema); }
.pp-crm__nav-btn.is-activo {
  background: var(--pp-azul) !important;
  border-color: var(--pp-azul);
  color: #fff !important;
}
.pp-crm__contenido { flex: 1 1 auto; min-width: 0; }

/* Alto mínimo para que el tablero no se achique cuando está vacío */
.pp-crm__columna { min-height: 480px; display: flex; flex-direction: column; }
.pp-crm__lista { flex: 1 1 auto; min-height: 420px; }

/* ===== Tabla Base de datos ===== */
.pp-crm__tabla-envoltura { overflow-x: auto; background: #fff; border-radius: var(--pp-radius); padding: 10px; }
.pp-crm__tabla { width: 100%; border-collapse: collapse; font-size: 14px; }
.pp-crm__tabla th, .pp-crm__tabla td { text-align: left; padding: 10px 12px; border-bottom: 1px solid rgba(33,56,111,0.10); }
.pp-crm__tabla th { color: var(--pp-azul); font-weight: 700; }
.pp-crm__pastilla { display: inline-block; padding: 3px 10px; border-radius: 20px; color: #fff; font-size: 12px; font-weight: 600; }
.pp-crm__pastilla--nuevo { background: #4098d7; }
.pp-crm__pastilla--contactado { background: #f29b38; }
.pp-crm__pastilla--propuesta { background: #a970ff; }
.pp-crm__pastilla--ganado { background: #00c875; }
.pp-crm__pastilla--perdido { background: #e2445c; }

/* ===== Catálogo de servicios ===== */
.pp-crm__catalogo { background: #fff; border-radius: var(--pp-radius); padding: 20px; max-width: 480px; }
.pp-crm__boton-sitio { display: inline-block; margin-bottom: 16px; padding: 10px 18px; border-radius: var(--pp-radius); background: var(--pp-naranja); color: #fff; font-weight: 700; text-decoration: none; }
.pp-crm__boton-sitio:hover { opacity: 0.9; }
.pp-crm__catalogo-lista { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.pp-crm__catalogo-vacio { opacity: 0.6; }
.pp-crm__servicio-fila {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--pp-crema);
  border-radius: 8px;
  padding: 8px 12px;
}
.pp-crm__servicio-nombre { flex: 1 1 auto; font-weight: 600; color: var(--pp-texto); }
.pp-crm__servicio-precio { color: var(--pp-azul); font-weight: 700; }
.pp-crm__servicio-borrar {
  background: transparent;
  border: none;
  color: #e2445c !important;
  cursor: pointer;
  font-size: 16px;
  padding: 2px 6px;
}
.pp-crm__catalogo-form { display: flex; flex-direction: column; gap: 8px; }
.pp-crm__catalogo-form input {
  padding: 8px 10px;
  border: 1px solid rgba(33,56,111,0.2);
  border-radius: 8px;
  font-family: inherit;
  font-size: 14px;
}

@media (max-width: 782px) {
  .pp-crm__layout { flex-direction: column; }
  .pp-crm__nav { flex-direction: row; flex-wrap: wrap; position: static; flex-basis: auto; width: 100%; }
}

/* ===== Insignias y botón de detalle en las tarjetas ===== */
.pp-crm__badges { display: flex; flex-wrap: wrap; gap: 4px; margin: 4px 0; }
.pp-crm__badge {
  display: inline-block;
  background: var(--pp-crema);
  color: var(--pp-texto);
  border-radius: 20px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 600;
}
.pp-crm__ver-detalle {
  width: 100%;
  margin-top: 8px;
  background: transparent;
  border: none;
  border-top: 1px solid rgba(33,56,111,0.10);
  padding-top: 8px;
  color: var(--pp-azul) !important;
  font-family: inherit;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
}
.pp-crm__ver-detalle:hover { text-decoration: underline; }

/* ===== Modal de detalle del contacto ===== */
.pp-crm__modal { position: fixed; inset: 0; z-index: 9999; }
.pp-crm__modal-fondo { position: absolute; inset: 0; background: rgba(33,56,111,0.45); }
.pp-crm__modal-caja {
  position: relative;
  background: #fff;
  max-width: 460px;
  width: 92%;
  margin: 40px auto;
  max-height: 88vh;
  overflow-y: auto;
  border-radius: var(--pp-radius);
  padding: 26px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.25);
}
.pp-crm__modal-cerrar {
  position: absolute;
  top: 14px;
  right: 14px;
  background: transparent;
  border: none;
  font-size: 18px;
  color: var(--pp-texto) !important;
  cursor: pointer;
}
.pp-crm__modal-titulo { margin: 0 0 16px; color: var(--pp-azul); }
.pp-crm__modal-campo { margin: 0 0 12px; }
.pp-crm__modal-campo label { display: block; font-weight: 600; color: var(--pp-texto); margin-bottom: 4px; font-size: 14px; }
.pp-crm__modal-campo input, .pp-crm__modal-campo textarea, .pp-crm__modal-campo select {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid rgba(33,56,111,0.2);
  border-radius: 8px;
  font-family: inherit;
  font-size: 14px;
}
.pp-crm__modal-check { margin: 4px 0 12px; }
.pp-crm__modal-check label { display: flex; align-items: center; gap: 8px; font-weight: 600; color: var(--pp-texto); }
.pp-crm__modal-botones { display: flex; gap: 10px; margin-top: 10px; }

/* ===== Menú desplegable 'Mi negocio' ===== */
.pp-negocio { position: relative; }
.pp-negocio__menu {
  display: none;
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  background: #fff;
  border-radius: 14px;
  box-shadow: var(--pp-sombra);
  min-width: 180px;
  padding: 8px;
  z-index: 100;
}
.pp-negocio--abierto .pp-negocio__menu { display: block; }
.pp-negocio__menu a {
  display: block;
  padding: 10px 14px;
  border-radius: 8px;
  color: var(--pp-texto);
  text-decoration: none;
  font-weight: 600;
}
.pp-negocio__menu a:hover { background: var(--pp-crema); }

/* ===== CRM: badges de etiqueta ===== */
.pp-crm__badge--etiqueta-prospecto { background: #dbeafe; color: #1d4ed8; }
.pp-crm__badge--etiqueta-cliente { background: #d1fae5; color: #047857; }
.pp-crm__badge--etiqueta-cliente_anterior { background: #e5e7eb; color: #374151; }
.pp-crm__badge--etiqueta-no_interesado { background: #fee2e2; color: #b91c1c; }
.pp-crm__badge--etiqueta-prospecto, .pp-crm__badge--etiqueta-cliente, .pp-crm__badge--etiqueta-cliente_anterior, .pp-crm__badge--etiqueta-no_interesado {
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 20px;
	font-size: 11px;
}
.pp-crm__badge--perdido { background: #fee2e2; color: #b91c1c; }

/* ===== CRM: dashboard grid y tarjetas ===== */
.pp-crm__dash-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 16px;
	margin-bottom: 24px;
}
.pp-crm__dash-tarjeta {
	background: var(--pp-crema);
	border-radius: var(--pp-radius);
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.pp-crm__dash-tarjeta--verde { background: #d1fae5; }
.pp-crm__dash-tarjeta--rojo { background: #fee2e2; }
.pp-crm__dash-tarjeta--naranja { background: #ffedd5; }
.pp-crm__dash-tarjeta--azul { background: #dbeafe; }
.pp-crm__dash-tarjeta--celeste { background: #cffafe; }
.pp-crm__dash-numero { font-size: 28px; font-weight: 800; color: var(--pp-azul); }
.pp-crm__dash-etiqueta { font-size: 13px; color: var(--pp-texto); }
.pp-crm__dash-columnas { margin-bottom: 24px; }
.pp-crm__dash-columnas h3, .pp-crm__dash-bloque h3 { margin-bottom: 10px; color: var(--pp-azul); }
.pp-crm__dash-dos-columnas {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin-bottom: 24px;
}
@media (max-width: 782px) { .pp-crm__dash-dos-columnas { grid-template-columns: 1fr; } }
.pp-crm__dash-bloque { background: var(--pp-blanco); border-radius: var(--pp-radius); padding: 16px; box-shadow: var(--pp-sombra); }
.pp-crm__dash-bloque--ancho { margin-bottom: 24px; }
.pp-crm__dash-vacio { color: #9ca3af; font-style: italic; }
.pp-crm__dash-lista { list-style: none; margin: 0; padding: 0; }
.pp-crm__dash-lista li { padding: 6px 0; border-bottom: 1px solid #f0f0f0; }
.pp-crm__dash-lista li:last-child { border-bottom: none; }

/* ===== CRM: tabla de gestión de recompras ===== */
.pp-crm__pastilla-recompra { font-weight: 600; padding: 3px 10px; border-radius: 20px; font-size: 12px; }
.pp-crm__pastilla-recompra--proximo { background: #dbeafe; color: #1d4ed8; }
.pp-crm__pastilla-recompra--contactar { background: #ffedd5; color: #c2410c; }
.pp-crm__pastilla-recompra--atrasado { background: #fee2e2; color: #b91c1c; }
.pp-crm__fila-recompra--contactar { background: #fff7ed; }
.pp-crm__fila-recompra--contactar td { border-color: #fdba74; }

/* ===== CRM: campos de recompra en modal ===== */
#pp-modal-frecuencia-dias-envoltura input { margin-top: 4px; }

/* ===== CRM: catálogo con imagen y descripción ===== */
.pp-crm__servicio-fila { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid #f0f0f0; }
.pp-crm__servicio-img { width: 48px; height: 48px; object-fit: cover; border-radius: 8px; flex-shrink: 0; }
.pp-crm__servicio-info { display: flex; flex-direction: column; flex: 1; gap: 2px; }
.pp-crm__servicio-desc { font-size: 12px; color: #6b7280; }
.pp-crm__catalogo-form textarea { width: 100%; margin-top: 8px; font-family: inherit; }
.pp-crm__catalogo-archivo { display: block; margin-top: 8px; font-size: 13px; color: var(--pp-texto); }

/* ===== CRM: checklist de servicios múltiples en modal ===== */
.pp-crm__check-lista { max-height: 160px; overflow-y: auto; border: 1px solid #e5e7eb; border-radius: 8px; padding: 8px; margin-top: 6px; }
.pp-crm__check-linea { display: block; font-weight: 400; padding: 4px 0; }
.pp-crm__check-linea input { margin-right: 6px; }

/* ===== CRM: línea de tiempo ===== */
.pp-crm__timeline { max-height: 180px; overflow-y: auto; margin-top: 6px; margin-bottom: 8px; }
.pp-crm__timeline-evento { display: flex; gap: 8px; padding: 6px 0; border-bottom: 1px solid #f0f0f0; font-size: 13px; }
.pp-crm__timeline-fecha { color: #9ca3af; white-space: nowrap; }
.pp-crm__timeline-vacio { color: #9ca3af; font-style: italic; }
.pp-crm__timeline-agregar { display: flex; gap: 6px; flex-wrap: wrap; }
.pp-crm__timeline-agregar select { flex: 0 0 auto; }
.pp-crm__timeline-agregar input { flex: 1; min-width: 140px; }

/* ===== CRM: modal de razón de pérdida ===== */
.pp-crm__modal-caja--chica { max-width: 380px; }
.pp-crm__razon-opciones { display: flex; flex-direction: column; gap: 8px; margin: 16px 0; }
.pp-crm__razon-boton {
	background: var(--pp-crema);
	border: none;
	border-radius: 8px;
	padding: 10px 14px;
	font-weight: 600;
	color: var(--pp-texto);
	cursor: pointer;
	text-align: left;
}
.pp-crm__razon-boton:hover { background: #e2445c; color: #fff; }

/* ===== CRM: dato encargado en tarjeta ===== */
.pp-crm__encargado { font-weight: 600; }


/* ===== Campana de notificaciones ===== */
.pp-notif { position: relative; display: inline-block; }
.pp-notif__disparador { position: relative; border: none !important; }
.pp-notif__insignia {
	position: absolute;
	top: -6px;
	right: -6px;
	background: #e2445c;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	padding: 3px 5px;
	border-radius: 20px;
	min-width: 16px;
	text-align: center;
}
.pp-notif__menu {
	display: none;
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	background: var(--pp-blanco, #fff);
	border-radius: var(--pp-radius, 12px);
	box-shadow: var(--pp-sombra, 0 4px 20px rgba(0,0,0,.12));
	width: 320px;
	max-height: 420px;
	overflow-y: auto;
	z-index: 200;
}
.pp-notif--abierto .pp-notif__menu { display: block; }
.pp-notif__cabecera {
	font-weight: 700;
	padding: 14px 16px 8px;
	color: var(--pp-azul);
}
.pp-notif__lista { display: flex; flex-direction: column; }
.pp-notif__vacio { color: #9ca3af; font-style: italic; padding: 12px 16px 16px; margin: 0; }
.pp-notif__item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px 16px;
	text-decoration: none;
	color: var(--pp-texto);
	border-top: 1px solid #f0f0f0;
	font-size: 13px;
}
.pp-notif__item:hover { background: var(--pp-crema, #fdf6ec); }
.pp-notif__item--nueva { background: #eef6ff; font-weight: 600; }
.pp-notif__icono { font-size: 16px; flex-shrink: 0; }
.pp-notif__texto small { color: #9ca3af; font-weight: 400; }
@media (max-width: 600px) { .pp-notif__menu { width: 280px; right: -60px; } }


/* ===== Filas de servicio (dropdowns dinámicos) ===== */
.pp-crm__servicios-filas { display: flex; flex-direction: column; gap: 8px; }
.pp-crm__servicio-fila-select { display: flex; gap: 6px; align-items: center; }
.pp-crm__servicio-fila-select select { flex: 1; }
.pp-crm__servicio-fila-select input.pp-modal-servicio-otro-input { flex: 1; }
.pp-crm__servicio-quitar-fila {
	background: transparent;
	color: #b91c1c !important;
	border: none;
	padding: 4px 8px;
	font-size: 16px;
	cursor: pointer;
	flex-shrink: 0;
}
.pp-crm__servicio-mas {
	margin-top: 8px;
	background: var(--pp-crema);
	color: var(--pp-azul) !important;
	border: 2px dashed var(--pp-azul);
	border-radius: 8px;
	width: 36px;
	height: 36px;
	font-size: 18px;
	font-weight: 700;
	cursor: pointer;
	line-height: 1;
}
.pp-crm__servicio-mas:hover { background: var(--pp-azul); color: #fff !important; }


/* ===== Calculadora de precios y margen ===== */
.pp-calc { max-width: 900px; margin: 0 auto; }
.pp-calc__cabecera { margin-bottom: 24px; }
.pp-calc__ayuda { color: #6b7280; }
.pp-calc__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 16px;
	margin-bottom: 8px;
}
.pp-calc__campo { display: flex; flex-direction: column; gap: 6px; }
.pp-calc__campo label { font-weight: 700; color: var(--pp-azul); font-size: 14px; }
.pp-calc__campo input {
	padding: 12px 14px;
	border-radius: 10px;
	border: 1px solid #e5e7eb;
	font-size: 16px;
}
.pp-calc__nota { color: #9ca3af; font-size: 13px; font-style: italic; margin-bottom: 24px; }
.pp-calc__resultados {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 16px;
}
.pp-calc__resultado {
	background: var(--pp-crema);
	border-radius: var(--pp-radius);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.pp-calc__resultado--verde { background: #d1fae5; }
.pp-calc__resultado--celeste { background: #cffafe; }
.pp-calc__resultado--naranja { background: #ffedd5; }
.pp-calc__resultado-numero { font-size: 26px; font-weight: 800; color: var(--pp-azul); }
.pp-calc__resultado-etiqueta { font-size: 13px; color: var(--pp-texto); }


.pp-calc__modo {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	margin: 14px 0 20px;
}
.pp-calc__modo-opcion {
	display: flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	font-weight: 600;
	color: var(--pp-azul);
}
.pp-calc__modo-opcion input {
	cursor: pointer;
}


.pp-calc select {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #d8dee7;
	border-radius: var(--pp-radius);
	font-size: 15px;
	color: var(--pp-texto);
	background: #fff;
}
.pp-calc__categoria-info {
	margin-top: 8px;
	padding: 10px 12px;
	background: var(--pp-crema);
	border-radius: var(--pp-radius);
	font-size: 14px;
	color: var(--pp-azul);
	font-weight: 600;
}
.pp-calc__definiciones {
	margin-top: 26px;
	padding-top: 20px;
	border-top: 1px solid #e5e9f0;
}
.pp-calc__definiciones h3 {
	margin: 0 0 10px;
	color: var(--pp-azul);
	font-size: 17px;
}
.pp-calc__definiciones p {
	margin: 0 0 8px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--pp-texto);
}
.pp-calc__definiciones-nota {
	font-style: italic;
	color: #6b7685;
	font-size: 13px;
}

.pp-calc-costos-filas {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 10px;
}
.pp-calc-costo-fila {
	display: grid;
	grid-template-columns: 1fr 140px 36px;
	gap: 8px;
	align-items: center;
}
.pp-calc-costo-fila input {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid #d8dee7;
	border-radius: var(--pp-radius);
	font-size: 14px;
}
.pp-calc-costo-quitar {
	width: 32px;
	height: 32px;
	border: none;
	border-radius: 50%;
	background: #fbe4e4;
	color: #b3261e;
	font-size: 16px;
	cursor: pointer;
	line-height: 1;
}
.pp-calc-costo-quitar:hover {
	background: #f5c6c6;
}
.pp-calc-costo-calculado {
	background: #f0f3f8;
	color: #6b7685;
}
.pp-calc select optgroup {
	font-weight: 700;
	color: var(--pp-azul);
}

#pp-calc-costo-agregar-fila {
	width: auto !important;
	align-self: flex-start;
	display: inline-block;
	font-size: 14px;
	font-weight: 600;
	padding: 8px 16px;
	border-radius: var(--pp-radius);
}

.pp-crm__recompra-acciones { white-space: nowrap; }
.pp-crm__recompra-editar, .pp-crm__recompra-eliminar { font-size: 13px; padding: 4px 10px; border-radius: var(--pp-radius); border: 1px solid var(--pp-azul); background: #fff; color: var(--pp-azul); cursor: pointer; margin-right: 4px; }
.pp-crm__recompra-eliminar { border-color: #dc2626; color: #dc2626; }
.pp-crm__recompra-editar:hover { background: var(--pp-azul); color: #fff; }
.pp-crm__recompra-eliminar:hover { background: #dc2626; color: #fff; }
.pp-crm__fila-recompra-editar td { background: #f8fafc; padding: 14px; }
.pp-crm__recompra-form { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; }
.pp-crm__recompra-form label { display: flex; flex-direction: column; font-size: 13px; font-weight: 600; color: var(--pp-texto); gap: 4px; }
.pp-crm__recompra-form input { padding: 6px 10px; border: 1px solid #cbd5e1; border-radius: var(--pp-radius); font-size: 14px; }

.pp-crm__stats-filtro { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px; margin-bottom: 20px; }
.pp-crm__stats-filtro label { display: flex; flex-direction: column; font-size: 13px; font-weight: 600; color: var(--pp-texto); gap: 4px; }
.pp-crm__stats-filtro input { padding: 6px 10px; border: 1px solid #cbd5e1; border-radius: var(--pp-radius); font-size: 14px; }
.pp-crm__stats-total { font-weight: 700; color: var(--pp-azul); }
.pp-crm__stats-graficos { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media ( max-width: 780px ) { .pp-crm__stats-graficos { grid-template-columns: 1fr; } }
.pp-crm__stats-grafico-cont { background: var(--pp-crema); border-radius: var(--pp-radius); padding: 16px; }
.pp-crm__stats-grafico-cont h4 { margin: 0 0 12px; color: var(--pp-azul); }

.pp-crm__recompra-editar { color: var(--pp-azul) !important; background: #fff !important; border-radius: var(--pp-radius) !important; }
.pp-crm__recompra-eliminar { color: #dc2626 !important; background: #fff !important; border-radius: var(--pp-radius) !important; }
.pp-crm__recompra-editar:hover { color: #fff !important; background: var(--pp-azul) !important; }
.pp-crm__recompra-eliminar:hover { color: #fff !important; background: #dc2626 !important; }

.pp-crm__panel[data-panel="dashboard"] > .pp-crm__stats-filtro { margin-bottom: 20px; }

body.page-id-182 .pp-contenido,
body.page-id-182 .pp-contenedor { max-width: 1600px !important; }
body.page-id-182 .pp-crm { width: 100%; }
@media ( max-width: 1650px ) {
	body.page-id-182 .pp-contenido,
	body.page-id-182 .pp-contenedor { max-width: 96vw !important; }
}

.pp-crm__nuevo-form .pp-crm__nf-servicio-agregar { width: 100% !important; padding: 8px 12px !important; font-size: 14px !important; line-height: 1.3 !important; white-space: nowrap; height: auto; }

.pp-crm__nuevo-form .pp-crm__nf-servicio-agregar { width: auto !important; min-width: 44px; padding: 6px 16px !important; font-size: 20px !important; line-height: 1.2 !important; }
.pp-crm__nuevo-form .pp-crm__nf-etiqueta-sel { width: 100%; }

.pp-crm__base-editar { font-size: 13px; padding: 4px 12px; border-radius: var(--pp-radius) !important; border: 1px solid var(--pp-azul); background: #fff !important; color: var(--pp-azul) !important; cursor: pointer; white-space: nowrap; }
.pp-crm__base-editar:hover { background: var(--pp-azul) !important; color: #fff !important; }

.pp-crm__nf-vinculo { margin-bottom: 10px; }
.pp-crm__nf-vinculo select { width: 100%; }
.pp-crm__nf-vinculo-nota { font-size: 12px; color: var(--pp-texto); margin: 6px 0 0; }
.pp-crm__nuevo-form input[readonly] { background: #eef1f6; color: #55607a; cursor: not-allowed; }

.pp-crm__nf-nombre-envoltura { position: relative; }
.pp-crm__nf-sugerencias { position: absolute; left: 0; right: 0; top: 100%; z-index: 30; background: #fff; border: 1px solid #cbd5e1; border-radius: var(--pp-radius); margin: 2px 0 0; padding: 4px 0; list-style: none; box-shadow: var(--pp-sombra); max-height: 220px; overflow-y: auto; }
.pp-crm__nf-sugerencias li { padding: 8px 14px; cursor: pointer; font-size: 14px; color: var(--pp-texto); }
.pp-crm__nf-sugerencias li:hover { background: var(--pp-crema); }
.pp-crm__nf-desvincular { font-size: 12px; padding: 2px 10px; border-radius: var(--pp-radius) !important; border: 1px solid var(--pp-azul); background: #fff !important; color: var(--pp-azul) !important; cursor: pointer; }

.pp-metas-editar, .pp-metas-cancelar-fila { font-size: 13px; padding: 4px 12px; border-radius: var(--pp-radius) !important; border: 1px solid var(--pp-azul); background: #fff !important; color: var(--pp-azul) !important; cursor: pointer; white-space: nowrap; }
.pp-metas-editar:hover { background: var(--pp-azul) !important; color: #fff !important; }
.pp-metas-guardar-fila { font-size: 13px; padding: 4px 12px; border-radius: var(--pp-radius) !important; cursor: pointer; }
.pp-metas-acciones { white-space: nowrap; }
