:root{--navy:#071b4d;--blue:#075fd4;--mag:#d91b79;--bg:#f4f7ff;--bd:#dbe5f4;--txt:#10213f}*{box-sizing:border-box}body{margin:0;font-family:Poppins,Arial,sans-serif;background:var(--bg);color:var(--txt)}a{text-decoration:none}.auth{min-height:100vh;display:grid;place-items:center;padding:20px}.card-auth,.box{background:#fff;border:1px solid var(--bd);border-radius:22px;box-shadow:0 18px 42px rgba(8,27,73,.12);padding:28px;width:min(620px,94vw)}.card-auth img{max-width:340px;width:100%;display:block;margin:0 auto 18px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.full{grid-column:1/-1}label{font-weight:800;color:var(--navy);font-size:14px}input,select,textarea{width:100%;min-height:44px;border:1px solid #ccd7e8;border-radius:12px;padding:10px 12px;font:inherit;background:#fff}textarea{min-height:110px}.btn{border:0;border-radius:13px;background:linear-gradient(135deg,var(--blue),var(--mag));color:#fff;font-weight:900;padding:13px 20px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.muted{color:#64748b}.alert{padding:12px 14px;border-radius:12px;background:#eef6ff;border:1px solid #cfe5ff;margin:12px 0}.err{background:#fff1f2;border-color:#fecdd3}.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}aside{background:var(--navy);color:#fff;padding:24px}aside img{width:100%;background:#fff;border-radius:16px;padding:8px;margin-bottom:18px}aside a{display:block;color:#fff;padding:12px;border-radius:12px;font-weight:800;margin:5px 0}aside a:hover{background:rgba(255,255,255,.12)}main.box{width:auto;margin:24px}.table{width:100%;border-collapse:collapse;background:#fff}.table th,.table td{padding:11px;border-bottom:1px solid #e5edf8;text-align:left}.pill{border-radius:999px;padding:5px 10px;background:#eef2ff;font-weight:800;font-size:12px}@media(max-width:800px){.app{grid-template-columns:1fr}aside{position:static}.grid{grid-template-columns:1fr}main.box{margin:12px}}
/* =========================================================
   SISTEMA PRIVADO Y ADMIN - MI PROFESIÓN CR
   ========================================================= */
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f7ff;color:#10213f}.auth{min-height:100vh;display:grid;place-items:center;padding:25px;background:linear-gradient(135deg,#081b49,#075fd4)}.card-auth{width:min(760px,96vw);background:#fff;border-radius:22px;padding:28px;box-shadow:0 22px 60px rgba(0,0,0,.25)}.card-auth img{display:block;max-width:360px;width:80%;margin:0 auto 15px}.card-auth h2{margin:8px 0 18px;color:#081b49}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.full{grid-column:1/-1}label{display:block;font-weight:800;font-size:13px;margin-bottom:6px;color:#243b63}input,select,textarea{width:100%;border:1px solid #cbd7e8;border-radius:12px;padding:12px;font:inherit;background:#fff}textarea{min-height:130px;resize:vertical}.btn,button.btn{display:inline-block;border:0;border-radius:12px;background:linear-gradient(135deg,#071b4d,#075fd4);color:#fff!important;padding:13px 20px;font-weight:900;text-decoration:none;cursor:pointer;box-shadow:0 12px 22px rgba(7,95,212,.18)}.alert{background:#e7f9ee;color:#116530;border:1px solid #b7efc5;border-radius:12px;padding:12px 14px;margin:12px 0}.alert.err{background:#fff1f2;color:#b91c1c;border-color:#fecdd3}.links{margin-top:14px;text-align:center}.links a{color:#075fd4;font-weight:800}.check{display:flex;gap:9px;align-items:center;margin:12px 0}.check input{width:auto}.private{display:flex;min-height:100vh}.sidebar{width:265px;background:#061336;color:#fff;padding:22px 18px;position:fixed;left:0;top:0;bottom:0;overflow:auto}.sidebar img{width:100%;background:#fff;border-radius:16px;padding:10px;margin-bottom:18px}.sidebar a{display:block;color:#fff;text-decoration:none;padding:13px 14px;border-radius:12px;margin:7px 0;font-weight:800}.sidebar a:hover{background:rgba(255,255,255,.12)}.private-main{margin-left:265px;width:calc(100% - 265px);padding:26px}.private-top{background:#fff;border:1px solid #dbe5f4;border-radius:18px;padding:16px 18px;margin-bottom:18px;display:flex;justify-content:space-between;box-shadow:0 10px 26px rgba(8,27,73,.08)}.panel-card{background:#fff;border:1px solid #dbe5f4;border-radius:22px;padding:24px;box-shadow:0 12px 28px rgba(8,27,73,.09)}.panel-card h2{margin-top:0;color:#081b49}.muted{color:#64748b}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 12px 28px rgba(8,27,73,.08)}.table th{background:#081b49;color:#fff;text-align:left;padding:14px}.table td{border-bottom:1px solid #e5edf8;padding:13px;vertical-align:top}.table a{font-weight:900;color:#075fd4}.pill{display:inline-block;background:#e0f2fe;color:#075985;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:900}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:18px 0}.stats div{background:#fff;border:1px solid #dbe5f4;border-radius:18px;padding:22px;box-shadow:0 10px 24px rgba(8,27,73,.08)}.stats b{display:block;font-size:34px;color:#075fd4}.stats span{font-weight:800;color:#64748b}.profesional-card .card-img img{object-fit:cover}
@media(max-width:900px){.grid{grid-template-columns:1fr}.private{display:block}.sidebar{position:relative;width:100%;display:grid;grid-template-columns:1fr 1fr}.sidebar img{grid-column:1/-1;max-width:320px}.private-main{margin-left:0;width:100%;padding:16px}.table{display:block;overflow-x:auto}.stats{grid-template-columns:1fr}.card-auth{padding:18px}}
.admin-stats{grid-template-columns:repeat(5,1fr)}
.pill.estado-pendiente{background:#fef3c7;color:#92400e}.pill.estado-activo{background:#dcfce7;color:#166534}.pill.estado-rechazado{background:#fee2e2;color:#991b1b}.pill.estado-inactivo{background:#e5e7eb;color:#374151}
@media(max-width:900px){.admin-stats{grid-template-columns:repeat(2,1fr)}.table{font-size:12px}.table th,.table td{padding:9px}}

/* Corrección: logos de pantallas auth/verificación no deben mostrarse gigantes */
.auth .card-auth > img,
.card-auth > img,
.verificacion-logo{
    width:180px !important;
    max-width:70% !important;
    height:auto !important;
    object-fit:contain !important;
}


/* === Tarjetas profesionales mejoradas: llamadas + WhatsApp === */
.cards{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))!important;gap:22px!important;align-items:stretch!important}
.card.profesional-card{max-width:340px!important;width:100%!important;margin:0 auto!important;border-radius:24px!important;overflow:hidden!important;border:1px solid #dbe7f5!important;box-shadow:0 18px 45px rgba(15,23,42,.12)!important;background:#fff!important;transition:.22s!important}
.profesional-card:hover{transform:translateY(-6px)!important;box-shadow:0 24px 55px rgba(15,23,42,.17)!important}
.profesional-card .card-img{height:178px!important;position:relative!important;background:#eef4fb!important;overflow:hidden!important}
.profesional-card .card-img:after{content:"";position:absolute;left:0;right:0;bottom:0;height:54%;background:linear-gradient(to top,rgba(2,6,23,.52),rgba(2,6,23,0));pointer-events:none}
.profesional-card .card-img img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
.profesional-card .label,.profesional-card .category-pill{position:absolute!important;left:12px!important;top:auto!important;right:auto!important;bottom:12px!important;z-index:2!important;display:inline-flex!important;align-items:center!important;max-width:82%!important;min-height:26px!important;padding:6px 10px!important;border-radius:999px!important;background:rgba(255,174,26,.95)!important;color:#fff!important;font-size:11px!important;font-weight:900!important;line-height:1!important;letter-spacing:.2px!important;box-shadow:0 8px 18px rgba(0,0,0,.18)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.profesional-card .card-body{padding:17px 18px 20px!important}
.profesional-card .card-body h3{font-size:20px!important;line-height:1.15!important;color:#06194a!important;margin:0 0 4px!important;text-transform:capitalize!important}
.profesional-card .card-subtitle{font-size:12px!important;font-weight:800!important;color:#64748b!important;margin-bottom:10px!important}
.profesional-card .meta{font-size:13px!important;color:#334155!important;margin:8px 0 10px!important;font-weight:800!important}
.profesional-card .contact-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:10px 0 12px!important}
.profesional-card .contact-line{border-radius:14px!important;padding:8px 9px!important;border:1px solid #dbeafe!important;background:#f8fbff!important;min-width:0!important}
.profesional-card .contact-line span{display:block!important;font-size:10.5px!important;line-height:1.1!important;color:#64748b!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.2px!important;margin-bottom:4px!important}
.profesional-card .contact-line strong{display:block!important;font-size:14px!important;color:#0f172a!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.profesional-card .whatsapp-line{background:#ecfdf3!important;border-color:#bbf7d0!important}
.profesional-card .whatsapp-line strong{color:#14532d!important}
.profesional-card .call-line{background:#eff6ff!important;border-color:#bfdbfe!important}
.profesional-card .call-line strong{color:#1e3a8a!important}
.profesional-card .card-body p{font-size:14px!important;line-height:1.55!important;color:#475569!important;margin:10px 0 14px!important;min-height:132px!important;display:-webkit-box!important;-webkit-line-clamp:6!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
.profesional-card .card-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:10px!important}
.profesional-card .wa-btn,.profesional-card .call-btn{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;border-radius:14px!important;padding:12px 10px!important;font-size:14.5px!important;font-weight:900!important;text-decoration:none!important;margin:0!important}
.profesional-card .wa-btn{background:linear-gradient(135deg,#16a34a,#22c55e)!important;color:#fff!important;box-shadow:0 10px 22px rgba(22,163,74,.23)!important}
.profesional-card .call-btn{background:#f8fafc!important;color:#0f172a!important;border:1px solid #dbe7f5!important;box-shadow:none!important}
.profesional-card .wa-btn:hover,.profesional-card .call-btn:hover{filter:brightness(1.04)!important;transform:translateY(-1px)!important}
@media(max-width:680px){.cards{grid-template-columns:1fr!important}.card.profesional-card{max-width:100%!important}.profesional-card .card-img{height:195px!important}.profesional-card .card-body h3{font-size:21px!important}.profesional-card .contact-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:380px){.profesional-card .contact-grid{grid-template-columns:1fr!important}}

/* =========================================================
   BOTONES ELEGANTES Y DIFERENCIADOS PARA PUBLICACIONES
   ========================================================= */
.profesional-card .card-actions,
.cards .card .card-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  margin-top:14px!important;
}

.profesional-card .wa-btn,
.profesional-card .call-btn,
.cards .card .wa-btn,
.cards .card .call-btn{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-height:48px!important;
  padding:12px 16px!important;
  border-radius:16px!important;
  border:1px solid transparent!important;
  font-size:15.5px!important;
  line-height:1.15!important;
  font-weight:900!important;
  letter-spacing:.1px!important;
  text-decoration:none!important;
  text-align:center!important;
  box-shadow:none!important;
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease, border-color .22s ease!important;
}

.profesional-card .wa-btn,
.cards .card .wa-btn{
  color:#ffffff!important;
  background:
    radial-gradient(circle at 18% 20%, rgba(255,255,255,.28), transparent 28%),
    linear-gradient(135deg,#22c55e 0%,#16a34a 48%,#0f8f45 100%)!important;
  border-color:rgba(255,255,255,.20)!important;
  box-shadow:0 12px 24px rgba(34,197,94,.24), inset 0 1px 0 rgba(255,255,255,.24)!important;
}

.profesional-card .call-btn,
.cards .card .call-btn{
  color:#ffffff!important;
  background:
    radial-gradient(circle at 18% 20%, rgba(255,255,255,.24), transparent 30%),
    linear-gradient(135deg,#2563eb 0%,#0f4fbd 52%,#072a75 100%)!important;
  border-color:rgba(255,255,255,.18)!important;
  box-shadow:0 12px 24px rgba(37,99,235,.23), inset 0 1px 0 rgba(255,255,255,.20)!important;
}

.profesional-card .wa-btn::before,
.profesional-card .call-btn::before,
.cards .card .wa-btn::before,
.cards .card .call-btn::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.22) 45%,transparent 72%);
  transform:translateX(-120%);
  transition:transform .55s ease;
}

.profesional-card .wa-btn:hover,
.profesional-card .call-btn:hover,
.cards .card .wa-btn:hover,
.cards .card .call-btn:hover{
  transform:translateY(-2px)!important;
  filter:saturate(1.08) brightness(1.04)!important;
}

.profesional-card .wa-btn:hover,
.cards .card .wa-btn:hover{
  box-shadow:0 16px 30px rgba(34,197,94,.32), inset 0 1px 0 rgba(255,255,255,.26)!important;
}

.profesional-card .call-btn:hover,
.cards .card .call-btn:hover{
  box-shadow:0 16px 30px rgba(37,99,235,.32), inset 0 1px 0 rgba(255,255,255,.24)!important;
}

.profesional-card .wa-btn:hover::before,
.profesional-card .call-btn:hover::before,
.cards .card .wa-btn:hover::before,
.cards .card .call-btn:hover::before{
  transform:translateX(120%);
}

.profesional-card .wa-btn:active,
.profesional-card .call-btn:active,
.cards .card .wa-btn:active,
.cards .card .call-btn:active{
  transform:translateY(0)!important;
}

@media (max-width: 768px){
  .profesional-card .wa-btn,
  .profesional-card .call-btn,
  .cards .card .wa-btn,
  .cards .card .call-btn{
    min-height:96px!important;
    font-size:15px!important;
    border-radius:15px!important;
    padding:11px 14px!important;
  }
}



/* Botones modernos */
.btn,.btn-primary,button.btn{
display:inline-flex;align-items:center;justify-content:center;
gap:8px;
padding:12px 22px;
border:none;
border-radius:14px;
font-weight:700;
letter-spacing:.3px;
transition:.25s ease;
box-shadow:0 10px 24px rgba(7,95,212,.25);
background:linear-gradient(135deg,#0b5ed7,#0a7cff);
color:#fff!important;
}
.btn:hover,.btn-primary:hover,button.btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(7,95,212,.35)}

.btn-success{background:linear-gradient(135deg,#16a34a,#22c55e)!important;box-shadow:0 10px 24px rgba(34,197,94,.3)!important}
.btn-warning{background:linear-gradient(135deg,#f59e0b,#fbbf24)!important;color:#222!important}
.btn-danger{background:linear-gradient(135deg,#dc2626,#ef4444)!important}
.btn-info{background:linear-gradient(135deg,#0891b2,#22d3ee)!important}
.btn-secondary{background:linear-gradient(135deg,#475569,#64748b)!important}
.btn-whatsapp{background:linear-gradient(135deg,#16a34a,#25D366)!important}
.btn-call{background:linear-gradient(135deg,#1d4ed8,#60a5fa)!important}

a.btn,button.btn{min-height:46px}

/* =========================================================
   CORRECCIÓN FINAL: logos completos en tarjetas profesionales
   Evita que los logos o imágenes de publicidad se corten.
   ========================================================= */
.profesional-card .card-img,
.cards .card .card-img{
  height:190px!important;
  background:linear-gradient(180deg,#f8fbff 0%,#eef4fb 100%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  overflow:hidden!important;
}

.profesional-card .card-img img,
.cards .card .card-img img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  background:#fff!important;
}

/* Para logos con fondo oscuro o transparente se conserva el área completa */
.profesional-card .card-img img[src*="uploads/publicidad"],
.cards .card .card-img img[src*="uploads/publicidad"],
.profesional-card .card-img img[src*="uploads/perfiles"],
.cards .card .card-img img[src*="uploads/perfiles"]{
  object-fit:contain!important;
  object-position:center center!important;
}

/* La etiqueta queda encima sin tapar demasiado el logo */
.profesional-card .label,
.profesional-card .category-pill,
.cards .card .label,
.cards .card .category-pill{
  top:12px!important;
  left:12px!important;
  z-index:5!important;
  max-width:72%!important;
}

@media(max-width:680px){
  .profesional-card .card-img,
  .cards .card .card-img{
    height:220px!important;
  }
}

@media(max-width:390px){
  .profesional-card .card-img,
  .cards .card .card-img{
    height:205px!important;
  }
}




/* =========================================================
   CORRECCIÓN FINAL: logo completo + fondo a todo el ancho
   Archivos modificados: index.php, includes/functions.php, sistema.css
   ========================================================= */
.profesional-card .card-img,
.cards .card .card-img{
  height:clamp(230px, 18vw, 310px)!important;
  position:relative!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:24px 24px 0 0!important;
  background:#050b18!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Fondo de la misma imagen: llena todo el ancho de la cabecera */
.profesional-card .card-img.logo-full-bg::before,
.cards .card .card-img.logo-full-bg::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background-image:var(--card-bg)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  filter:blur(10px) brightness(.75)!important;
  transform:scale(1.08)!important;
  z-index:0!important;
}

/* Capa suave para que el logo destaque */
.profesional-card .card-img.logo-full-bg::after,
.cards .card .card-img.logo-full-bg::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(2,6,23,.06),rgba(2,6,23,.10))!important;
  z-index:1!important;
  pointer-events:none!important;
}

/* Imagen real: completa, centrada y sin recorte */
.profesional-card .card-img img,
.cards .card .card-img img{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  background:transparent!important;
  padding:0!important;
}

/* Etiqueta por encima del logo */
.profesional-card .label,
.profesional-card .category-pill,
.cards .card .label,
.cards .card .category-pill{
  position:absolute!important;
  top:20px!important;
  left:20px!important;
  z-index:4!important;
  max-width:72%!important;
}

@media(max-width:1200px){
  .profesional-card .card-img,
  .cards .card .card-img{height:260px!important;}
}

@media(max-width:680px){
  .profesional-card .card-img,
  .cards .card .card-img{height:300px!important;}
}

@media(max-width:420px){
  .profesional-card .card-img,
  .cards .card .card-img{height:230px!important;}
}



/* =========================================================
   MEJORA ESTÉTICA TARJETAS DE PUBLICACIONES - 2026-07-08
   Tarjetas más limpias, mejor tipografía y botones modernos
   ========================================================= */
.cards{
  align-items:stretch!important;
  gap:26px!important;
}
.card.profesional-card,
.cards .card.profesional-card{
  width:100%!important;
  max-width:330px!important;
  border:1px solid rgba(207,219,235,.92)!important;
  border-radius:26px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%)!important;
  box-shadow:0 18px 42px rgba(15,35,80,.12)!important;
  overflow:hidden!important;
  font-family:"Poppins","Segoe UI",Arial,sans-serif!important;
}
.card.profesional-card:hover,
.cards .card.profesional-card:hover{
  transform:translateY(-5px)!important;
  box-shadow:0 26px 60px rgba(15,35,80,.18)!important;
}
.profesional-card .card-img,
.cards .card.profesional-card .card-img{
  height:214px!important;
  border-radius:0!important;
  background:#07152f!important;
}
.profesional-card .card-img.logo-full-bg,
.cards .card.profesional-card .card-img.logo-full-bg{
  background-image:linear-gradient(135deg,rgba(2,8,23,.58),rgba(10,30,80,.36)),var(--card-bg)!important;
  background-size:cover!important;
  background-position:center!important;
}
.profesional-card .card-img img,
.cards .card.profesional-card .card-img img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  padding:0!important;
}
.profesional-card .card-img::after,
.cards .card.profesional-card .card-img::after{
  content:""!important;
  position:absolute!important;
  inset:auto 0 0 0!important;
  height:45%!important;
  background:linear-gradient(to top,rgba(2,6,23,.50),rgba(2,6,23,0))!important;
  pointer-events:none!important;
}
.profesional-card .label,
.profesional-card .category-pill,
.cards .card.profesional-card .label,
.cards .card.profesional-card .category-pill{
  top:14px!important;
  bottom:auto!important;
  left:14px!important;
  max-width:75%!important;
  min-height:30px!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.2px!important;
  background:linear-gradient(135deg,#ffb020,#ff8a00)!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(255,138,0,.28)!important;
}
.profesional-card .card-body,
.cards .card.profesional-card .card-body{
  padding:20px 20px 22px!important;
}
.profesional-card .card-body h3,
.cards .card.profesional-card .card-body h3{
  margin:0 0 8px!important;
  font-size:22px!important;
  line-height:1.12!important;
  font-weight:900!important;
  letter-spacing:-.35px!important;
  color:#071b4d!important;
  text-transform:uppercase!important;
}
.profesional-card .meta,
.cards .card.profesional-card .meta{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0 0 12px!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:800!important;
  color:#66748d!important;
}
.profesional-card .meta::before,
.cards .card.profesional-card .meta::before{
  content:"📍";
  font-size:13px;
}
.profesional-card .card-body p,
.cards .card.profesional-card .card-body p{
  margin:0 0 15px!important;
  min-height:96px!important;
  color:#52627a!important;
  font-size:15px!important;
  line-height:1.55!important;
  font-weight:500!important;
  display:-webkit-box!important;
  -webkit-line-clamp:6!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
}
.profesional-card .contact-list,
.cards .card.profesional-card .contact-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  margin:12px 0 16px!important;
}
.profesional-card .contact-row,
.cards .card.profesional-card .contact-row{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:36px!important;
  padding:8px 11px!important;
  border-radius:14px!important;
  border:1px solid #e0e9f7!important;
  background:#f7faff!important;
  color:#10213f!important;
  font-size:14px!important;
  font-weight:800!important;
}
.profesional-card .contact-row .contact-icon,
.cards .card.profesional-card .contact-row .contact-icon{
  width:23px!important;
  height:23px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  font-size:13px!important;
  background:#fff!important;
  box-shadow:0 6px 12px rgba(15,23,42,.08)!important;
}
.profesional-card .contact-row strong,
.cards .card.profesional-card .contact-row strong{
  margin-left:auto!important;
  color:#071b4d!important;
  font-size:15px!important;
  font-weight:900!important;
  letter-spacing:.2px!important;
  white-space:nowrap!important;
}
.profesional-card .whatsapp-row,
.cards .card.profesional-card .whatsapp-row{
  background:linear-gradient(135deg,#f0fdf4,#ffffff)!important;
  border-color:#c7f4d4!important;
}
.profesional-card .call-row,
.cards .card.profesional-card .call-row{
  background:linear-gradient(135deg,#eff6ff,#ffffff)!important;
  border-color:#cfe0ff!important;
}
.profesional-card .card-actions,
.cards .card.profesional-card .card-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  margin-top:6px!important;
}
.profesional-card .wa-btn,
.profesional-card .call-btn,
.cards .card.profesional-card .wa-btn,
.cards .card.profesional-card .call-btn{
  font-family:"Poppins","Segoe UI",Arial,sans-serif!important;
  min-height:54px!important;
  border-radius:17px!important;
  padding:13px 16px!important;
  font-size:16px!important;
  font-weight:900!important;
  letter-spacing:-.15px!important;
  box-shadow:none!important;
}
.profesional-card .wa-btn,
.cards .card.profesional-card .wa-btn{
  background:linear-gradient(135deg,#20d86a 0%,#16b957 44%,#0c8f42 100%)!important;
  color:#ffffff!important;
  box-shadow:0 14px 28px rgba(22,185,87,.26)!important;
}
.profesional-card .call-btn,
.cards .card.profesional-card .call-btn{
  background:linear-gradient(135deg,#1d64e8 0%,#124bb8 52%,#082c7a 100%)!important;
  color:#ffffff!important;
  box-shadow:0 14px 28px rgba(18,75,184,.24)!important;
}
.profesional-card .wa-btn:hover,
.profesional-card .call-btn:hover,
.cards .card.profesional-card .wa-btn:hover,
.cards .card.profesional-card .call-btn:hover{
  transform:translateY(-2px)!important;
  filter:brightness(1.05)!important;
}
@media(max-width:760px){
  .card.profesional-card,.cards .card.profesional-card{max-width:360px!important;}
  .profesional-card .card-img,.cards .card.profesional-card .card-img{height:220px!important;}
  .profesional-card .card-body,.cards .card.profesional-card .card-body{padding:18px!important;}
}
@media(max-width:390px){
  .profesional-card .contact-row,.cards .card.profesional-card .contact-row{font-size:13px!important;}
  .profesional-card .contact-row strong,.cards .card.profesional-card .contact-row strong{font-size:14px!important;}
  .profesional-card .wa-btn,.profesional-card .call-btn,.cards .card.profesional-card .wa-btn,.cards .card.profesional-card .call-btn{font-size:15px!important;}
}

/* =========================================================
   RESPONSIVE GENERAL FINAL - Banner fondo.png, formularios,
   publicaciones y panel administrativo
   ========================================================= */
html,body{max-width:100%!important;overflow-x:hidden!important}
img,video,iframe{max-width:100%!important;height:auto}
.wrap,.container,.public-detail{width:min(1320px,95%)!important;max-width:1320px!important;margin-left:auto!important;margin-right:auto!important}

/* Banner principal: mantiene la imagen fondo.png visible y adaptada */
.hero{
  width:100%!important;
  min-height:0!important;
  height:clamp(240px,29.5vw,600px)!important;
  padding:0!important;
  background-color:#071b4d!important;
  background-image:linear-gradient(90deg,rgba(8,27,73,.03),rgba(8,27,73,.10)),url('/publicidad/IMAGES/fondo.png')!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-size:cover!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.hero:before,.hero:after{pointer-events:none!important}
.hero-content{
  width:min(1120px,66vw)!important;
  max-width:66vw!important;
  margin-top:auto!important;
  margin-bottom:28px!important;
  align-self:flex-end!important;
  grid-template-columns:minmax(0,1.1fr) minmax(220px,.65fr)!important;
  padding:clamp(18px,1.8vw,32px) clamp(22px,2.4vw,42px)!important;
  border-radius:clamp(18px,2vw,30px)!important;
}
.hero-content h1{font-size:clamp(24px,2.55vw,48px)!important;line-height:1.12!important}
.hero-content p{font-size:clamp(13px,1.08vw,19px)!important;line-height:1.55!important;margin-top:clamp(8px,1vw,16px)!important}
.hero-icons{grid-template-columns:repeat(4,minmax(60px,1fr))!important;gap:clamp(8px,1vw,14px)!important}
.hero-icon{height:clamp(72px,7.4vw,145px)!important;border-radius:clamp(14px,1.5vw,24px)!important;font-size:clamp(27px,2.6vw,44px)!important}
.hero-icon:after{height:clamp(14px,1.7vw,32px)!important}

/* Slider de publicidad pagada: imagen completa en cualquier dispositivo */
#bannerPrincipal,.main-banner,.paid-banner,.banner-slider,.ad-slider{
  max-width:100%!important;
  overflow:hidden!important;
}
#bannerPrincipal img,.main-banner img,.paid-banner img,.banner-slider img,.ad-slider img{
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  display:block!important;
}

/* Búsqueda y categorías */
.search-inner{grid-template-columns:repeat(4,minmax(150px,1fr)) minmax(90px,.5fr) minmax(210px,.8fr)!important;gap:10px!important}
.search-field input,.search-field select,.code-row input{min-width:0!important}
.cats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important}

/* Tarjetas de publicaciones */
.cards{grid-template-columns:repeat(auto-fit,minmax(255px,1fr))!important;gap:22px!important;align-items:stretch!important}
.card,.profesional-card{width:100%!important;max-width:360px!important;margin-left:auto!important;margin-right:auto!important}
.card-img,.profesional-card .card-img{height:clamp(160px,18vw,205px)!important}
.card-body h3,.profesional-card .card-body h3{word-break:break-word!important}
.card-actions,.profesional-card .card-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
.card-body a,.profesional-card .wa-btn,.profesional-card .call-btn{min-height:50px!important;font-family:Poppins,Arial,sans-serif!important;letter-spacing:-.2px!important}

/* Formularios públicos y auth */
.auth{padding:clamp(14px,3vw,28px)!important}
.card-auth,.box,.panel-card{width:min(760px,95vw)!important;max-width:100%!important}
.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
input,select,textarea,button{max-width:100%!important}
.btn,button.btn{white-space:normal!important;text-align:center!important}

/* Perfil detalle */
.detail-grid{grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr)!important}
.detail-head{min-width:0!important}
.cover{height:clamp(220px,28vw,360px)!important}

/* Panel administrativo y privado */
.private,.app{min-width:0!important}
.sidebar,aside{flex-shrink:0!important}
.private-main,main.box{min-width:0!important}
.private-top{gap:12px!important;align-items:center!important;flex-wrap:wrap!important}
.table{width:100%!important;min-width:720px!important}
.table-responsive,.panel-card{overflow-x:auto!important}
.stats,.admin-stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important}

@media(max-width:1180px){
  .hero{height:clamp(300px,39vw,470px)!important;background-size:cover!important;background-position:center top!important}
  .hero-content{width:min(980px,88%)!important;max-width:88%!important;grid-template-columns:1fr!important;text-align:center!important;margin-bottom:18px!important}
  .hero-icons{display:grid!important;max-width:520px!important;margin:0 auto!important}
  .search-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .code-box{margin-bottom:0!important}
}

@media(max-width:900px){
  .topbar .wrap,.site-header .topbar .wrap{grid-template-columns:1fr!important;display:grid!important;gap:14px!important;text-align:center!important;justify-items:center!important;min-height:auto!important}
  .header-brand{justify-content:center!important;flex-wrap:wrap!important;text-align:center!important}
  .header-copy{border-left:0!important;border-top:4px solid #09b7d6!important;padding-left:0!important;padding-top:12px!important;min-width:0!important}
  .site-header .login-box,.login-box{width:min(420px,100%)!important;min-width:0!important}
  .site-header .login-row,.login-row{grid-template-columns:1fr!important;display:grid!important}
  .nav .wrap{gap:6px!important;justify-content:center!important}
  .nav a{font-size:13px!important;padding:12px 10px!important}
  .private,.app{display:block!important}
  .sidebar,aside{position:relative!important;width:100%!important;min-height:0!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:14px!important}
  .sidebar img,aside img{grid-column:1/-1!important;width:min(260px,80%)!important;margin:0 auto 8px!important}
  .private-main,main.box{margin-left:0!important;width:100%!important;padding:14px!important;margin:0!important}
  .grid{grid-template-columns:1fr!important}
  .detail-grid{grid-template-columns:1fr!important}
}

@media(max-width:680px){
  .wrap,.container,.public-detail{width:94%!important}
  .hero{
    height:auto!important;
    min-height:0!important;
    padding-top:56vw!important;
    background-size:contain!important;
    background-position:center top!important;
    background-color:#f4f7ff!important;
    align-items:flex-start!important;
  }
  .hero:before,.hero:after{display:none!important}
  .hero-content{
    width:94%!important;
    max-width:94%!important;
    margin:10px auto 16px!important;
    align-self:auto!important;
    grid-template-columns:1fr!important;
    padding:18px!important;
    border-radius:20px!important;
  }
  .hero-content h1{font-size:clamp(24px,8vw,32px)!important}
  .hero-content p{font-size:14px!important}
  .hero-icons{grid-template-columns:repeat(4,1fr)!important;gap:7px!important}
  .hero-icon{height:62px!important;font-size:24px!important;border-radius:14px!important}
  .search-inner{grid-template-columns:1fr!important}
  .search-btn{height:50px!important}
  .content{width:94%!important;padding:22px 16px!important;border-left:0!important;border-radius:18px!important}
  .section-title{display:block!important}
  .section-title h2{font-size:24px!important}
  .cards{grid-template-columns:1fr!important}
  .card,.profesional-card{max-width:390px!important}
  .contact-grid,.profesional-card .contact-grid{grid-template-columns:1fr!important}
  .footer-grid{grid-template-columns:1fr!important}
  .sidebar,aside{grid-template-columns:1fr!important}
  .private-top{display:block!important}
  .private-top > *{margin-bottom:8px!important}
  .table{font-size:12px!important;min-width:680px!important}
  .table th,.table td{padding:9px!important}
  .cover{height:210px!important}
  .detail-body{padding:20px!important}
  .detail-head{display:block!important;text-align:center!important;margin-top:-55px!important}
  .avatar{width:112px!important;height:112px!important}
}

@media(max-width:430px){
  .hero{padding-top:62vw!important}
  .hero-icons{grid-template-columns:repeat(2,1fr)!important}
  .hero-icon{height:70px!important}
  .card-auth,.panel-card,.box{padding:16px!important;border-radius:18px!important}
  .logo img,.header-logo img{max-height:76px!important}
}


/* =========================================================
   BOTONES DE CONTACTO - estilo moderno diferenciado
   ========================================================= */
.profesional-card .card-actions,
.cards .card.profesional-card .card-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
  margin-top:10px!important;
}
.profesional-card .wa-btn,
.profesional-card .call-btn,
.cards .card.profesional-card .wa-btn,
.cards .card.profesional-card .call-btn{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  width:100%!important;
  min-height:52px!important;
  padding:13px 18px!important;
  border-radius:999px!important;
  font-family:"Poppins","Segoe UI",Arial,sans-serif!important;
  font-size:15px!important;
  font-weight:900!important;
  letter-spacing:.1px!important;
  line-height:1.1!important;
  text-decoration:none!important;
  border:2px solid transparent!important;
  overflow:hidden!important;
  isolation:isolate!important;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease!important;
}
.profesional-card .wa-btn::before,
.cards .card.profesional-card .wa-btn::before,
.profesional-card .call-btn::before,
.cards .card.profesional-card .call-btn::before{
  width:31px!important;
  height:31px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 31px!important;
  border-radius:50%!important;
  font-size:15px!important;
  box-shadow:0 8px 18px rgba(15,23,42,.16)!important;
}
.profesional-card .wa-btn,
.cards .card.profesional-card .wa-btn{
  color:#064e3b!important;
  background:linear-gradient(135deg,#ecfff5 0%,#ffffff 52%,#dcfce7 100%)!important;
  border-color:#23c96b!important;
  box-shadow:0 13px 28px rgba(34,197,94,.18)!important;
}
.profesional-card .wa-btn::before,
.cards .card.profesional-card .wa-btn::before{
  content:"💬"!important;
  color:#ffffff!important;
  background:linear-gradient(135deg,#25d366,#0f9f54)!important;
}
.profesional-card .call-btn,
.cards .card.profesional-card .call-btn{
  color:#081b49!important;
  background:linear-gradient(135deg,#fff1f7 0%,#ffffff 48%,#eef5ff 100%)!important;
  border-color:#d91b79!important;
  box-shadow:0 13px 28px rgba(217,27,121,.16)!important;
}
.profesional-card .call-btn::before,
.cards .card.profesional-card .call-btn::before{
  content:"☎"!important;
  color:#ffffff!important;
  background:linear-gradient(135deg,#d91b79,#075fd4)!important;
}
.profesional-card .wa-btn:hover,
.profesional-card .call-btn:hover,
.cards .card.profesional-card .wa-btn:hover,
.cards .card.profesional-card .call-btn:hover{
  transform:translateY(-2px)!important;
  filter:brightness(1.02)!important;
}
.profesional-card .wa-btn:hover,
.cards .card.profesional-card .wa-btn:hover{
  box-shadow:0 18px 34px rgba(34,197,94,.25)!important;
}
.profesional-card .call-btn:hover,
.cards .card.profesional-card .call-btn:hover{
  box-shadow:0 18px 34px rgba(217,27,121,.23)!important;
}
.profesional-card .wa-btn:active,
.profesional-card .call-btn:active,
.cards .card.profesional-card .wa-btn:active,
.cards .card.profesional-card .call-btn:active{
  transform:translateY(0)!important;
}
@media(max-width:420px){
  .profesional-card .wa-btn,
  .profesional-card .call-btn,
  .cards .card.profesional-card .wa-btn,
  .cards .card.profesional-card .call-btn{
    min-height:49px!important;
    font-size:14px!important;
    padding:12px 14px!important;
  }
}

/* =========================================================
   DISEÑO MODERNO RESPONSIVE: LOGIN, REGISTRO Y ADMIN
   ========================================================= */
:root{
  --mp-navy:#061a4a;
  --mp-blue:#0b63d8;
  --mp-blue2:#0ea5e9;
  --mp-pink:#e0227a;
  --mp-orange:#ff9f1c;
  --mp-soft:#f5f8ff;
  --mp-border:#dbe7f5;
  --mp-text:#0f2348;
}

html{scroll-behavior:smooth}
body{min-width:0;overflow-x:hidden}

/* Pantallas de acceso */
.auth{
  min-height:100svh!important;
  padding:clamp(18px,4vw,52px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:
    radial-gradient(circle at 15% 10%, rgba(224,34,122,.18), transparent 28%),
    radial-gradient(circle at 86% 18%, rgba(14,165,233,.20), transparent 30%),
    linear-gradient(135deg,#051338 0%,#08397f 48%,#0873df 100%)!important;
  position:relative!important;
}
.auth::before{
  content:"";
  position:absolute;
  inset:clamp(12px,2vw,24px);
  border:1px solid rgba(255,255,255,.16);
  border-radius:28px;
  pointer-events:none;
}
.card-auth{
  width:min(920px,96vw)!important;
  min-height:auto!important;
  padding:clamp(26px,4vw,48px)!important;
  border-radius:30px!important;
  border:1px solid rgba(255,255,255,.65)!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 30px 80px rgba(0,0,0,.28)!important;
  position:relative!important;
  overflow:hidden!important;
}
.card-auth::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;height:8px;
  background:linear-gradient(90deg,#24b6c6 0%,#ff9f1c 48%,#e0227a 100%);
}
.card-auth img{
  width:clamp(150px,22vw,240px)!important;
  max-width:240px!important;
  margin:0 auto 22px!important;
  filter:drop-shadow(0 12px 22px rgba(8,27,73,.10));
}
.card-auth h2{
  font-size:clamp(26px,3.2vw,40px)!important;
  line-height:1.1!important;
  margin:10px 0 24px!important;
  color:var(--mp-navy)!important;
  letter-spacing:-.8px!important;
}
.card-auth p{margin:0 0 18px!important}
.card-auth .grid{gap:18px!important}
.card-auth label{
  font-size:15px!important;
  color:#18325f!important;
  margin-bottom:8px!important;
}
.card-auth input,
.card-auth select,
.card-auth textarea{
  min-height:56px!important;
  border-radius:16px!important;
  border:1px solid #cddbef!important;
  background:#f8fbff!important;
  font-size:16px!important;
  padding:14px 16px!important;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease!important;
}
.card-auth input:focus,
.card-auth select:focus,
.card-auth textarea:focus{
  outline:0!important;
  border-color:#0b63d8!important;
  background:#fff!important;
  box-shadow:0 0 0 5px rgba(11,99,216,.12)!important;
}
.card-auth .btn,
.card-auth button.btn{
  min-height:56px!important;
  border-radius:17px!important;
  padding:15px 28px!important;
  font-size:16px!important;
  background:linear-gradient(135deg,#075fd4 0%,#0ea5e9 52%,#e0227a 100%)!important;
  box-shadow:0 18px 34px rgba(7,95,212,.28)!important;
}
.card-auth .links{
  margin-top:22px!important;
  font-size:17px!important;
}
.card-auth .links a{color:#075fd4!important;font-weight:900!important}
.card-auth .alert{font-size:15px!important;border-radius:16px!important;padding:14px 16px!important}

/* Panel privado / administrativo */
.private.private-modern{
  display:block!important;
  min-height:100vh!important;
  background:
    radial-gradient(circle at 90% 0%, rgba(14,165,233,.12), transparent 28%),
    linear-gradient(180deg,#f7faff 0%,#eef4ff 100%)!important;
}
.private-sidebar{
  width:300px!important;
  padding:22px 18px!important;
  background:linear-gradient(180deg,#061a4a 0%,#061336 100%)!important;
  box-shadow:18px 0 40px rgba(8,27,73,.18)!important;
  z-index:20!important;
}
.sidebar-brand{
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:22px!important;
  padding:12px!important;
  margin-bottom:18px!important;
}
.sidebar-brand img{
  width:76px!important;
  height:76px!important;
  object-fit:contain!important;
  flex:0 0 76px!important;
  margin:0!important;
  padding:8px!important;
  border-radius:18px!important;
  background:#fff!important;
}
.sidebar-brand strong{display:block!important;color:#fff!important;font-size:17px!important;line-height:1.1!important}
.sidebar-brand span{display:block!important;color:#b8c7e6!important;font-size:12px!important;margin-top:5px!important;font-weight:700!important}
.sidebar-nav a,
.private-sidebar a{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  color:#fff!important;
  padding:14px 15px!important;
  border-radius:16px!important;
  margin:7px 0!important;
  font-weight:900!important;
  border:1px solid transparent!important;
  transition:.2s ease!important;
}
.sidebar-nav a:hover,
.private-sidebar a:hover{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.14)!important;
  transform:translateX(3px)!important;
}
.private-main{
  margin-left:300px!important;
  width:calc(100% - 300px)!important;
  padding:clamp(18px,3vw,36px)!important;
  max-width:none!important;
}
.private-top-modern,
.private-top{
  border-radius:24px!important;
  padding:18px 22px!important;
  border:1px solid var(--mp-border)!important;
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(12px)!important;
  box-shadow:0 16px 36px rgba(8,27,73,.08)!important;
  align-items:center!important;
  gap:12px!important;
}
.top-label{display:block;color:#64748b;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.6px;margin-bottom:3px}
.role-badge,.pill{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  padding:8px 13px!important;
  background:#eef6ff!important;
  color:#075fd4!important;
  font-size:12px!important;
  font-weight:900!important;
  border:1px solid #d5e8ff!important;
}
.private-main h1{
  font-size:clamp(28px,3.4vw,44px)!important;
  line-height:1.08!important;
  color:#061a4a!important;
  letter-spacing:-1px!important;
  margin:8px 0 20px!important;
}
.panel-card,
main.box,
.box{
  border-radius:26px!important;
  border:1px solid var(--mp-border)!important;
  box-shadow:0 18px 44px rgba(8,27,73,.10)!important;
}
.private-main .grid{gap:18px!important}
.private-main input,
.private-main select,
.private-main textarea{
  min-height:54px!important;
  border-radius:16px!important;
  background:#fbfdff!important;
  border:1px solid #cddbef!important;
  font-size:15.5px!important;
  padding:13px 15px!important;
}
.private-main textarea{min-height:150px!important}
.private-main input:focus,
.private-main select:focus,
.private-main textarea:focus{
  outline:0!important;
  border-color:#075fd4!important;
  box-shadow:0 0 0 5px rgba(7,95,212,.10)!important;
  background:#fff!important;
}
.private-main label{font-size:14px!important;color:#18325f!important}
.private-main .btn,
.private-main button.btn,
.private-main a.btn{
  min-height:52px!important;
  border-radius:16px!important;
  padding:14px 22px!important;
  font-size:15.5px!important;
}
.stats.admin-stats,
.stats{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important;
  gap:14px!important;
  margin:18px 0!important;
}
.stats.admin-stats>div,
.stats>div{
  background:#fff!important;
  border:1px solid var(--mp-border)!important;
  border-radius:22px!important;
  padding:18px!important;
  box-shadow:0 12px 30px rgba(8,27,73,.08)!important;
}
.stats b{font-size:30px!important;color:#075fd4!important;display:block!important}
.stats span{font-weight:900!important;color:#64748b!important;font-size:13px!important}
.table{
  min-width:850px!important;
  border-radius:22px!important;
  overflow:hidden!important;
}
.table th{background:linear-gradient(135deg,#061a4a,#0b3d91)!important;padding:15px!important}
.table td{padding:14px!important;background:#fff!important}
.private-main:has(.table){overflow-x:auto!important}

@media(max-width:1100px){
  .private-sidebar{width:250px!important}
  .private-main{margin-left:250px!important;width:calc(100% - 250px)!important}
  .sidebar-brand{flex-direction:column!important;text-align:center!important}
  .sidebar-brand img{width:92px!important;height:92px!important;flex-basis:92px!important}
}

@media(max-width:860px){
  .auth{padding:18px!important;align-items:flex-start!important;padding-top:32px!important}
  .card-auth{width:100%!important;padding:28px 22px!important;border-radius:26px!important}
  .card-auth img{width:170px!important;max-width:170px!important;margin-bottom:18px!important}
  .card-auth h2{text-align:left!important;font-size:30px!important}
  .card-auth .grid{grid-template-columns:1fr!important}
  .card-auth .btn{width:100%!important}
  .card-auth .links{font-size:15px!important;line-height:1.7!important}

  .private.private-modern{display:block!important}
  .private-sidebar{
    position:sticky!important;
    top:0!important;
    left:auto!important;
    bottom:auto!important;
    width:100%!important;
    min-height:auto!important;
    padding:12px!important;
    border-radius:0 0 24px 24px!important;
    overflow:visible!important;
  }
  .sidebar-brand{
    flex-direction:row!important;
    text-align:left!important;
    margin-bottom:10px!important;
    padding:10px!important;
  }
  .sidebar-brand img{
    width:76px!important;
    height:76px!important;
    flex:0 0 76px!important;
  }
  .sidebar-brand strong{font-size:18px!important}
  .sidebar-nav{
    display:flex!important;
    gap:8px!important;
    overflow-x:auto!important;
    padding-bottom:4px!important;
    scrollbar-width:thin!important;
  }
  .sidebar-nav a,
  .private-sidebar a{
    white-space:nowrap!important;
    flex:0 0 auto!important;
    padding:12px 14px!important;
    margin:0!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.08)!important;
  }
  .private-main{
    margin-left:0!important;
    width:100%!important;
    padding:18px 14px 28px!important;
  }
  .private-top{flex-direction:row!important;border-radius:20px!important;margin-bottom:16px!important}
  .private-main h1{font-size:31px!important;margin-top:6px!important}
  .private-main .grid{grid-template-columns:1fr!important}
  .panel-card{padding:18px!important;border-radius:22px!important}
}

@media(max-width:480px){
  .auth{padding:12px!important;padding-top:18px!important}
  .auth::before{display:none!important}
  .card-auth{padding:24px 18px!important;border-radius:22px!important}
  .card-auth img{width:155px!important;max-width:155px!important}
  .card-auth h2{font-size:27px!important;margin-bottom:18px!important}
  .card-auth input,.card-auth select,.card-auth textarea{min-height:52px!important;font-size:15px!important}
  .card-auth .links{display:block!important;text-align:center!important}
  .sidebar-brand img{width:68px!important;height:68px!important;flex-basis:68px!important}
  .sidebar-brand strong{font-size:16px!important}
  .sidebar-brand span{font-size:11px!important}
  .private-main{padding:14px 10px 24px!important}
  .private-top{padding:14px!important}
  .private-main h1{font-size:27px!important}
  .stats.admin-stats,.stats{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .stats.admin-stats>div,.stats>div{padding:14px!important;border-radius:18px!important}
  .stats b{font-size:24px!important}
}


/* === AJUSTE: banner principal solo imagen, sin cuadro/texto encima === */
.hero{position:relative!important;min-height:clamp(250px,28vw,430px)!important;height:clamp(250px,28vw,430px)!important;padding:0!important;overflow:hidden!important;background:#071b4d url('/publicidad/IMAGES/fondo.png') center center/cover no-repeat!important;display:block!important;}
.hero:before,.hero:after,.hero-content,.hero-icons,.dots{display:none!important;}
.hero-paid-slider{position:absolute!important;inset:0!important;z-index:0!important;}
.hero-paid-slider:after{display:none!important;}
.hero-slide-img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;}
.hero-slide-img:first-child{opacity:1!important;}
@media(max-width:900px){.hero{min-height:clamp(210px,43vw,330px)!important;height:clamp(210px,43vw,330px)!important;background-position:center center!important;}.hero-slide-img{object-position:center center!important;}}
@media(max-width:560px){.hero{min-height:230px!important;height:230px!important;background-size:cover!important;background-position:center center!important;}.hero-slide-img{object-fit:cover!important;object-position:center center!important;}}


/* =========================================================
   ENCABEZADO FINAL - MISMO FONDO DEL MENÚ + RESPONSIVE
   ========================================================= */
.site-header{
  width:100%!important;
  position:relative!important;
  z-index:50!important;
  background:#061336!important;
  box-shadow:0 14px 34px rgba(6,19,54,.22)!important;
}
.site-header .topbar{
  background:linear-gradient(90deg,#061336 0%,#082766 52%,#061336 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
  padding:18px 0!important;
  box-shadow:none!important;
  position:relative!important;
  overflow:hidden!important;
}
.site-header .topbar:before{
  content:""!important;
  position:absolute!important;
  left:-90px!important;
  top:-120px!important;
  width:300px!important;
  height:300px!important;
  border-radius:50%!important;
  background:rgba(9,183,214,.18)!important;
  pointer-events:none!important;
}
.site-header .topbar:after{
  content:""!important;
  position:absolute!important;
  right:-100px!important;
  bottom:-140px!important;
  width:340px!important;
  height:340px!important;
  border-radius:50%!important;
  background:rgba(255,201,40,.12)!important;
  pointer-events:none!important;
}
.site-header .topbar .wrap{
  width:min(1320px,95%)!important;
  min-height:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  position:relative!important;
  z-index:1!important;
}
.header-brand{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  min-width:0!important;
}
.header-logo{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  background:#ffffff!important;
  border-radius:22px!important;
  padding:10px 16px!important;
  box-shadow:0 16px 32px rgba(0,0,0,.22)!important;
  border:1px solid rgba(255,255,255,.36)!important;
}
.header-logo img,
.logo img{
  width:auto!important;
  height:auto!important;
  max-width:300px!important;
  max-height:86px!important;
  object-fit:contain!important;
  display:block!important;
}
.header-copy{
  min-width:0!important;
  border-left:4px solid #ffc928!important;
  padding-left:16px!important;
  color:#fff!important;
}
.header-copy h1{
  margin:0!important;
  color:#fff!important;
  font-size:clamp(26px,2.5vw,40px)!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-1.1px!important;
}
.header-copy h1 span{
  color:#ffc928!important;
}
.header-copy p{
  margin:8px 0 0!important;
  color:#dbeafe!important;
  font-size:clamp(13px,1.15vw,16px)!important;
  line-height:1.35!important;
  font-weight:600!important;
  max-width:520px!important;
}
.header-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  flex-wrap:wrap!important;
}
.header-actions a,
.header-actions .btn-primary,
.header-actions .btn-secondary{
  min-height:46px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  padding:12px 18px!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  transition:.2s ease!important;
}
.header-actions .btn-primary{
  background:linear-gradient(135deg,#ffc928,#ff8a00)!important;
  color:#061336!important;
  box-shadow:0 12px 24px rgba(255,201,40,.24)!important;
}
.header-actions .btn-secondary{
  background:rgba(255,255,255,.12)!important;
  color:#ffffff!important;
  border:1px solid rgba(255,255,255,.28)!important;
}
.header-actions a:hover{transform:translateY(-2px)!important;filter:brightness(1.05)!important;}
.site-header .nav,
.nav{
  background:linear-gradient(90deg,#061336 0%,#082766 52%,#061336 100%)!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 10px 24px rgba(6,19,54,.24)!important;
}
.site-header .nav .wrap,
.nav .wrap{
  width:min(1320px,95%)!important;
  min-height:56px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
.site-header .nav a,
.nav a{
  color:#eaf4ff!important;
  padding:13px 16px!important;
  border-radius:999px!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
}
.site-header .nav a.active,
.nav a.active,
.site-header .nav a:hover,
.nav a:hover{
  background:rgba(255,255,255,.13)!important;
  color:#ffc928!important;
}
.site-header .nav a.active:after,
.nav a.active:after{display:none!important;}
@media(max-width:1050px){
  .site-header .topbar .wrap{flex-direction:column!important;text-align:center!important;gap:16px!important;}
  .header-brand{justify-content:center!important;}
  .header-copy{text-align:left!important;}
  .header-actions{justify-content:center!important;width:100%!important;}
}
@media(max-width:700px){
  .site-header .topbar{padding:14px 0!important;}
  .header-brand{flex-direction:column!important;text-align:center!important;gap:12px!important;width:100%!important;}
  .header-logo{width:min(360px,94vw)!important;padding:9px 12px!important;border-radius:18px!important;}
  .header-logo img,.logo img{max-width:100%!important;max-height:74px!important;}
  .header-copy{border-left:0!important;border-top:4px solid #ffc928!important;padding-left:0!important;padding-top:11px!important;text-align:center!important;}
  .header-copy h1{font-size:30px!important;}
  .header-copy p{font-size:13px!important;max-width:340px!important;}
  .header-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;width:min(360px,94vw)!important;}
  .header-actions a,.header-actions .btn-primary,.header-actions .btn-secondary{width:100%!important;min-height:44px!important;font-size:14px!important;}
  .site-header .nav .wrap,.nav .wrap{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding:10px 0!important;}
  .site-header .nav a,.nav a{text-align:center!important;padding:12px 8px!important;font-size:13px!important;background:rgba(255,255,255,.07)!important;}
}
@media(max-width:390px){
  .header-copy h1{font-size:26px!important;}
  .header-logo img,.logo img{max-height:66px!important;}
  .site-header .nav a,.nav a{font-size:12px!important;padding:11px 6px!important;}
}


/* =========================================================
   AJUSTE FINAL RESPONSIVE ADMIN / LOGIN / REGISTRO / RECUPERAR
   Compatible con PC, tablet y celular
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden!important}
.auth{min-height:100dvh!important;width:100%!important}
.card-auth{max-width:100%!important}
.card-auth form{max-width:100%!important}
.card-auth .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.card-auth .check{display:flex!important;align-items:flex-start!important;gap:10px!important;line-height:1.35!important;margin:14px 0 18px!important;color:#18325f!important;font-weight:800!important}
.card-auth .check input{width:18px!important;height:18px!important;min-height:18px!important;flex:0 0 18px!important;margin-top:2px!important;padding:0!important}
.card-auth button.btn,.card-auth a.btn{width:auto!important;min-width:190px!important}
.private.private-modern{display:block!important;width:100%!important;min-width:0!important}
.private-sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;height:100dvh!important;overflow-y:auto!important}
.private-main{min-width:0!important;box-sizing:border-box!important}
.private-top{display:flex!important;justify-content:space-between!important;flex-wrap:wrap!important}
.admin-actions{display:flex!important;gap:12px!important;align-items:center!important;flex-wrap:wrap!important;margin:14px 0 18px!important}
.admin-actions .btn{width:auto!important}
.table-responsive,.admin-table-wrap{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;border-radius:22px!important;box-shadow:0 18px 44px rgba(8,27,73,.10)!important;background:#fff!important}
.table-responsive .table,.admin-table-wrap .table{box-shadow:none!important;margin:0!important}
.row-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;min-width:210px!important}
.row-actions a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:34px!important;padding:7px 10px!important;border-radius:999px!important;background:#eef6ff!important;border:1px solid #d5e8ff!important;color:#075fd4!important;font-size:12px!important;font-weight:900!important;text-decoration:none!important;white-space:nowrap!important}
.row-actions a:hover{background:#075fd4!important;color:#fff!important}
.row-actions .danger-link{background:#fff1f2!important;border-color:#fecdd3!important;color:#b91c1c!important}
.row-actions .danger-link:hover{background:#dc2626!important;color:#fff!important}
.private-main img{max-width:100%;height:auto}
@media(max-width:1024px){
  .card-auth{width:min(760px,94vw)!important;padding:32px 26px!important}
  .card-auth img{max-width:210px!important;width:clamp(150px,28vw,210px)!important}
  .private-sidebar{width:250px!important}
  .private-main{margin-left:250px!important;width:calc(100% - 250px)!important;padding:22px!important}
  .table{min-width:780px!important}
}
@media(max-width:860px){
  .auth{align-items:flex-start!important;padding:18px!important;padding-top:28px!important}
  .card-auth{width:100%!important;border-radius:24px!important;padding:26px 20px!important}
  .card-auth .grid{grid-template-columns:1fr!important;gap:0!important}
  .card-auth h2{text-align:center!important;font-size:clamp(25px,7vw,32px)!important}
  .card-auth button.btn,.card-auth a.btn{width:100%!important;min-width:0!important}
  .private-sidebar{position:sticky!important;top:0!important;left:auto!important;bottom:auto!important;width:100%!important;height:auto!important;max-height:none!important;border-radius:0 0 22px 22px!important;padding:12px!important}
  .sidebar-brand{display:flex!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;text-align:left!important;margin-bottom:10px!important}
  .sidebar-brand img{width:64px!important;height:64px!important;flex-basis:64px!important}
  .sidebar-nav{display:flex!important;gap:8px!important;overflow-x:auto!important;white-space:nowrap!important;padding-bottom:6px!important}
  .sidebar-nav a{flex:0 0 auto!important;margin:0!important;min-height:42px!important;padding:10px 13px!important;background:rgba(255,255,255,.08)!important}
  .private-main{margin-left:0!important;width:100%!important;padding:16px 12px 28px!important}
  .private-top{border-radius:18px!important;padding:14px 16px!important}
  .private-main h1{text-align:left!important;font-size:clamp(25px,7vw,34px)!important;letter-spacing:-.5px!important}
  .stats.admin-stats,.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .admin-actions .btn{width:100%!important}
  .table-responsive,.admin-table-wrap{border-radius:18px!important}
  .table{min-width:760px!important;font-size:13px!important}
}
@media(max-width:520px){
  .auth{padding:12px!important;padding-top:16px!important}
  .card-auth{padding:22px 16px!important;border-radius:20px!important}
  .card-auth img{max-width:150px!important;margin-bottom:14px!important}
  .card-auth h2{margin-bottom:16px!important}
  .card-auth input,.card-auth select,.card-auth textarea{min-height:50px!important;border-radius:14px!important;font-size:15px!important;padding:12px 13px!important}
  .card-auth .links{font-size:14px!important;line-height:1.8!important}
  .sidebar-brand img{width:58px!important;height:58px!important;flex-basis:58px!important}
  .sidebar-brand strong{font-size:15px!important}
  .private-main{padding:12px 9px 24px!important}
  .private-top{display:block!important}
  .role-badge{margin-top:8px!important}
  .stats.admin-stats,.stats{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .stats.admin-stats>div,.stats>div{padding:12px!important;border-radius:16px!important}
  .stats b{font-size:23px!important}
  .stats span{font-size:12px!important}
  .table{min-width:720px!important;font-size:12px!important}
  .table th,.table td{padding:9px!important}
  .row-actions{min-width:190px!important;gap:6px!important}
  .row-actions a{font-size:11.5px!important;padding:6px 8px!important}
}

/* =========================================================
   CORRECCIÓN RESPONSIVE AUTH ADMIN
   Login / Registro / Recuperar / Restablecer
   Ajuste especial para celular, tablet y PC
   ========================================================= */
html, body{
  width:100%;
  max-width:100%;
  overflow-x:hidden!important;
}

body:has(.auth){
  background:linear-gradient(135deg,#06194a 0%,#075fd4 100%)!important;
}

.auth{
  width:100%!important;
  max-width:100vw!important;
  min-height:100vh!important;
  min-height:100svh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  background:linear-gradient(135deg,#06194a 0%,#075fd4 100%)!important;
  overflow-x:hidden!important;
}

.auth .card-auth{
  width:min(720px,100%)!important;
  max-width:720px!important;
  margin:0 auto!important;
  padding:30px!important;
  border-radius:26px!important;
  overflow:hidden!important;
}

.auth .card-auth h1,
.auth .card-auth h2,
.auth .card-auth h3{
  width:100%!important;
  margin:10px 0 18px!important;
  text-align:left!important;
  line-height:1.18!important;
  overflow-wrap:anywhere!important;
}

.auth .card-auth p{
  margin:0 0 14px!important;
}

.auth .card-auth input,
.auth .card-auth select,
.auth .card-auth textarea{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  font-size:16px!important;
}

.auth .card-auth .btn,
.auth .card-auth button.btn{
  min-height:50px!important;
  width:auto!important;
  max-width:100%!important;
  white-space:normal!important;
}

.auth .card-auth .links{
  width:100%!important;
  text-align:center!important;
  margin-top:18px!important;
}

@media (max-width: 900px){
  .auth{
    padding:18px!important;
    align-items:flex-start!important;
    padding-top:34px!important;
    padding-bottom:34px!important;
  }
  .auth .card-auth{
    width:100%!important;
    max-width:640px!important;
    padding:26px!important;
    border-radius:24px!important;
  }
  .auth .card-auth .grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
}

@media (max-width: 600px){
  .auth{
    padding:12px!important;
    padding-top:20px!important;
    padding-bottom:24px!important;
  }
  .auth .card-auth{
    width:100%!important;
    max-width:calc(100vw - 24px)!important;
    padding:22px 18px!important;
    border-radius:22px!important;
    box-shadow:0 16px 38px rgba(0,0,0,.22)!important;
  }
  .auth .card-auth > img,
  .card-auth > img,
  .verificacion-logo{
    width:150px!important;
    max-width:62%!important;
    margin-bottom:14px!important;
  }
  .auth .card-auth h2{
    font-size:26px!important;
    text-align:center!important;
  }
  .auth .card-auth label{
    font-size:14px!important;
  }
  .auth .card-auth .btn,
  .auth .card-auth button.btn{
    width:100%!important;
    min-height:52px!important;
    padding:13px 16px!important;
    border-radius:15px!important;
    font-size:16px!important;
  }
  .auth .card-auth .links a{
    display:inline-flex!important;
    min-height:44px!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:16px!important;
  }
}

@media (max-width: 380px){
  .auth{
    padding:9px!important;
    padding-top:16px!important;
  }
  .auth .card-auth{
    max-width:calc(100vw - 18px)!important;
    padding:20px 14px!important;
    border-radius:20px!important;
  }
  .auth .card-auth h2{
    font-size:24px!important;
  }
  .auth .card-auth > img,
  .card-auth > img,
  .verificacion-logo{
    width:135px!important;
  }
}
