:root{--navy:#082f5d;--blue:#135a95;--yellow:#ffbf00;--ink:#173451;--muted:#66798e;--line:#dbe4ee;--bg:#f5f8fb}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}
a{color:inherit}.top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px max(22px,calc((100vw - 1120px)/2));background:#fff;border-bottom:1px solid var(--line)}
.brand{text-decoration:none;font-weight:900;letter-spacing:.3px;color:var(--navy);font-size:21px;white-space:nowrap}.mark{display:inline-grid;place-items:center;color:var(--navy);background:var(--yellow);width:32px;height:32px;border-radius:9px;margin-right:5px}.accent{color:var(--blue)}
nav{display:flex;gap:18px;align-items:center}nav a{text-decoration:none;font-weight:650;font-size:14px}.nav-pro{background:var(--navy);color:white;border-radius:9px;padding:10px 13px}
.hero{background:linear-gradient(125deg,#062d58,#14548a);color:white;padding:70px 22px 55px;text-align:center}.eyebrow{letter-spacing:.16em;color:#f9d45a;font-size:12px;font-weight:800}h1{font-size:clamp(30px,5vw,52px);max-width:780px;margin:10px auto 12px;line-height:1.15;letter-spacing:-.03em}h1 span{color:var(--yellow)}.hero>p{max-width:680px;margin:0 auto 28px;color:#e3ebf4}
.filters{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;padding:16px;background:white;border-radius:17px;max-width:1000px;margin:auto;text-align:left;box-shadow:0 15px 30px #041e3a33}
.filters label{color:var(--ink);font-size:13px;font-weight:750}.filters input{display:block;border:1px solid var(--line);background:#fff;border-radius:9px;padding:13px 12px;margin-top:4px;width:100%;font-size:15px;color:var(--ink);min-width:0}
.filters button,.cta a,.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--yellow);color:#102e4b;border:0;border-radius:10px;text-decoration:none;font-size:15px;font-weight:800;padding:14px 18px;cursor:pointer;white-space:nowrap}
.filters button{align-self:end;min-height:48px}.results{max-width:1120px;margin:0 auto;padding:38px 22px}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}h2{color:var(--navy);margin:0;font-size:24px}.section-heading p{color:var(--muted);font-size:14px;margin:5px 0 0}.clear{border:1px solid var(--line);background:#fff;padding:10px 12px;border-radius:9px;cursor:pointer;color:var(--navy);font-weight:700}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:21px;display:flex;flex-direction:column;gap:10px;min-height:245px;box-shadow:0 6px 18px #18344e0a}.card-head{display:flex;align-items:center;gap:12px}.avatar{display:grid;place-items:center;flex-shrink:0;width:49px;height:49px;border-radius:13px;background:#e5f0fb;color:var(--navy);font-weight:900;font-size:24px}.card h3{margin:0;color:var(--navy);font-size:18px;line-height:1.25;overflow-wrap:anywhere}.trade{color:var(--blue);font-weight:700;font-size:13px}.meta{color:var(--muted);font-size:13px}.desc{font-size:13px;line-height:1.45;flex:1;margin:0;overflow-wrap:anywhere}.wa{display:flex;align-items:center;justify-content:center;padding:11px;border-radius:9px;background:#137c51;color:white;text-decoration:none;font-weight:800;font-size:14px}
.empty{background:white;border:1px dashed var(--line);padding:26px;border-radius:13px;color:var(--muted);grid-column:1/-1}.notice{font-size:12px;color:var(--muted);max-width:850px;margin-top:24px}.cta{margin:10px auto 42px;max-width:1076px;border-radius:18px;padding:27px;background:#e8f1fb;display:flex;align-items:center;justify-content:space-between;gap:20px}.cta p{margin:4px 0 0;color:var(--muted)}footer{text-align:center;padding:26px;color:var(--muted);font-size:13px;border-top:1px solid var(--line)}footer a{margin-left:8px}
@media(max-width:820px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:1fr 1fr}.filters button{grid-column:1/-1}.cta{margin-left:22px;margin-right:22px}}
@media(max-width:570px){.top{padding:12px 15px}.brand{font-size:16px}.mark{width:27px;height:27px}nav{gap:8px}nav a{font-size:12px}.nav-pro{padding:9px}.hero{padding:47px 16px 34px}.filters{grid-template-columns:1fr}.filters button{grid-column:auto}.cards{grid-template-columns:1fr}.section-heading{align-items:flex-start}.cta{flex-direction:column;align-items:stretch;text-align:center}.card{min-height:0}}

.secondary-old{max-width:1076px;margin:6px auto 22px;border-radius:18px;background:#fff;border:1px solid var(--line);padding:23px 27px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.secondary-old p{font-size:14px;color:var(--muted);margin:5px 0 0;max-width:600px}.secondary-old .eyebrow{color:var(--blue)}
.secondary-old a{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--navy);border-radius:10px;color:var(--navy);padding:11px 14px;text-decoration:none;font-size:14px;font-weight:800;white-space:nowrap}
.cliente-modal{border:1px solid var(--line);border-radius:18px;padding:25px;max-width:470px;width:calc(100% - 32px);box-shadow:0 20px 75px #09294855;color:var(--ink)}.cliente-modal::backdrop{background:#08203b99}
.cliente-modal h2{margin:0 0 10px}.cliente-modal p{font-size:14px;color:var(--muted)}.cliente-modal form:not(.close-row){display:grid;gap:12px}
.cliente-modal label{display:block;font-size:14px;font-weight:700}.cliente-modal input:not([type=checkbox]){display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;font:inherit;margin-top:5px}
.cliente-modal .checks{display:flex;align-items:start;gap:10px;font-weight:400}.cliente-modal .checks input{margin-top:4px}
.cliente-modal .as-link{border:0;background:none;color:var(--blue);text-decoration:underline;cursor:pointer;padding:7px;font-weight:700}
.cliente-modal .close-row{display:flex;justify-content:flex-end}.cliente-modal .close-row button{border:0;background:#e8f0f9;border-radius:7px;padding:6px 10px;cursor:pointer}
.cliente-modal [hidden]{display:none!important}.cliente-modal .error{color:#9e2633;font-size:13px}.cliente-modal .success{color:#18643f;font-size:13px}
.card button.wa{font-family:inherit;border:0;cursor:pointer;width:100%}
@media(max-width:820px){.secondary-old{margin-left:22px;margin-right:22px}}
@media(max-width:570px){.secondary-old{flex-direction:column;text-align:center;align-items:stretch}.secondary-old a{white-space:normal}.top nav a:first-child{font-size:11px}}

.cta-links{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.cta-links a.alt{background:#fff;border:1px solid var(--navy);color:var(--navy)}
.professional-origin{font-size:12px;color:#587089;font-weight:700}
@media(max-width:570px){.cta-links{flex-direction:column}.cta-links a{width:100%}}

/* Buscador de directorio: dos selectores y un único botón, sin bloques extra. */
.hero h1{
  max-width:100%;
  font-size:clamp(16px,3.3vw,37px);
  line-height:1.15;
  letter-spacing:-.035em;
  white-space:nowrap;
}
.filters select{
  display:block;
  appearance:auto;
  width:100%;
  min-width:0;
  margin-top:5px;
  padding:13px 12px;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:15px;
  border:1px solid var(--line);
  border-radius:9px;
  cursor:pointer;
}
.hero{padding-bottom:42px}
.hero>p{margin-bottom:22px}
@media(max-width:570px){
  .hero h1{font-size:clamp(14px,4.25vw,20px);white-space:nowrap}
  .filters{gap:11px}
}


/* Red de Oficio 2026: total registrado real y fichas visuales. */
.network-stat{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:9px;
  margin:0 auto 22px;
  padding:11px 20px;
  border:1px solid rgba(255,255,255,.23);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  box-shadow:0 8px 24px rgba(2,16,40,.15);
  font-size:14px;
  font-weight:550;
  line-height:1.3;
}
.network-stat-icon{
  width:10px;
  height:10px;
  border-radius:50%;
  color:transparent;
  background:#f9cd37;
  box-shadow:0 0 0 4px rgba(255,200,30,.15);
}
.network-stat strong{
  font-size:23px;
  font-weight:900;
  letter-spacing:-.045em;
  color:#ffcd39;
  font-variant-numeric:tabular-nums;
}
.network-stat span:last-child{color:#f4f7fc}
.results{padding-top:44px}
.results .section-heading h2{font-size:clamp(21px,2.6vw,27px);letter-spacing:-.035em}
.cards{gap:19px}
.professional-card{
  position:relative;
  padding:23px;
  min-height:296px;
  gap:15px;
  background:linear-gradient(145deg,#fff 0%,#fff 65%,#f9fbfe 100%);
  border:1px solid #dbe5ee;
  border-radius:20px;
  box-shadow:0 8px 28px rgba(22,58,90,.065);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.professional-card::before{
  content:"";
  position:absolute;
  left:23px;right:23px;top:0;
  height:3px;border-radius:0 0 9px 9px;
  background:linear-gradient(90deg,#ffbe2f,#f3d57e 58%,transparent);
}
.professional-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 35px rgba(22,58,90,.12);
  border-color:#c4d6e6;
}
.professional-card .card-head{align-items:center;gap:14px}
.professional-card .avatar{
  width:58px;height:58px;flex-shrink:0;
  border-radius:17px;
  background:linear-gradient(140deg,#d8ebfc,#ecf4fd);
  color:#0a4b85;font-size:19px;font-weight:850;
  border:1px solid #cce1f5;
  box-shadow:inset 0 -3px 0 rgba(24,85,143,.05);
}
.professional-card .card-identity{flex:1;min-width:0}
.professional-card h3{
  font-size:19px;line-height:1.22;
  letter-spacing:-.02em;font-weight:850;
}
.professional-card .trade{
  margin-top:4px;font-size:13px;
  color:#175e97;font-weight:750;
}
.card-location{
  display:flex;align-items:flex-start;gap:8px;
  color:#516780;
  font-size:13px;line-height:1.55;
  overflow-wrap:anywhere;
}
.location-icon{
  display:inline-grid;place-items:center;
  color:#1c6caa;font-size:21px;line-height:1;
  font-weight:750;flex-shrink:0;
}
.card-badges{display:flex;align-items:center;flex-wrap:wrap;gap:7px}
.status-pill{
  display:inline-flex;align-items:center;
  border:1px solid #dce9f5;background:#eff5fa;
  color:#285d86;border-radius:100px;
  padding:5px 10px;
  font-size:11px;font-weight:750;
  line-height:1.25;letter-spacing:.01em;
}
.status-pill.active{
  border-color:#c7e8d9;background:#e8f7ee;color:#156641;
}
.professional-card .desc{
  margin:0;color:#526b81;font-size:13px;
  line-height:1.65;flex:1;
}
.card-bottom{display:grid;gap:9px;margin-top:auto}
.professional-card .wa{
  min-height:45px;border-radius:11px;
  font-weight:800;font-size:14px;
  transition:background .2s ease,box-shadow .2s ease;
}
.professional-card button.wa{background:#148153}
.professional-card button.wa:hover{background:#0c6941}
.professional-card .secondary-contact{
  background:#0b4376;color:white;border:1px solid #0b4376;
}
.professional-card .secondary-contact:hover{background:#0a345c}
.professional-card .card-footnote{
  margin:0;color:#72859a;text-align:center;
  font-size:11px;line-height:1.45;
}
@media(max-width:820px){
  .professional-card{min-height:278px}
}
@media(max-width:570px){
  .network-stat{max-width:100%;padding:9px 13px;gap:7px;font-size:12px}
  .network-stat strong{font-size:20px}
  .results{padding-top:29px}
  .professional-card{padding:19px;border-radius:17px;min-height:0}
  .professional-card::before{left:19px;right:19px}
  .professional-card .avatar{width:52px;height:52px}
  .professional-card .card-head{gap:11px}
}
@media(prefers-reduced-motion:reduce){
  .professional-card,.professional-card .wa{transition:none}
  .professional-card:hover{transform:none}
}

/* Fichas de registros cuyo titular aún no autorizó publicar datos privados. */
.pending-card{
  background:linear-gradient(145deg,#fcfdff 0%,#f3f7fb 100%);
  border:1px dashed #cad9e8;
  box-shadow:none;
  min-height:215px;
  justify-content:flex-start;
  gap:15px;
}
.pending-card::before{background:#d8e3ec}
.pending-card .pending-avatar{
  width:51px;height:51px;
  border-radius:15px;
  background:#e6edf5;
  color:#7b91a4;
  font-size:25px;
}
.pending-card h3{color:#344f68;font-size:17px}
.pending-card .desc{flex:0 1 auto;color:#63798a}
.pending-card .status-pill{width:max-content;max-width:100%;background:#eef1f5;color:#60768b;border-color:#dbe4eb}
.pending-card:hover{transform:none;box-shadow:none;border-color:#cad9e8}


/* Acciones principales de cada ficha: WhatsApp y presupuestos. */
.professional-card .card-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  align-items:stretch;
  margin-top:auto;
}
.professional-card .card-actions .wa{
  width:100%;
  min-width:0;
  min-height:49px;
  padding:10px 8px;
  font-family:inherit;
  font-size:12.5px;
  line-height:1.3;
  text-align:center;
  white-space:normal;
  overflow-wrap:break-word;
}
.professional-card .card-actions .assisted-contact{
  background:#13824f;
  color:#fff;
  border:1px solid #13824f;
}
.professional-card .card-actions .assisted-contact:hover{background:#0a6840}
.professional-card .card-actions .secondary-contact{
  background:#0c4171;
  border:1px solid #0c4171;
  color:#fff;
}
.professional-card .card-actions .secondary-contact:hover{background:#082f57}
.professional-card .card-footnote{
  font-size:11px;
  color:#687d90;
  line-height:1.4;
  text-align:center;
  margin:1px 0 0;
}
.pending-card .card-actions{margin-top:auto}
@media(max-width:410px){
  .professional-card .card-actions{grid-template-columns:1fr}
}
