/* Nexid.us · 12 October 2026 · Additive, scoped UI fixes. */
:root { --nexid-deep:#073c2e; --nexid-green:#009d69; --nexid-orange:#ff8500; }

/* Four clean SSO cards, with number and title always separated. */
.trust-flow.nexid-federation-steps {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;align-items:stretch;}
.trust-flow.nexid-federation-steps article {min-width:0;min-height:208px;border-radius:21px;padding:24px;background:#fff;border:1px solid #cee8d9;box-shadow:0 8px 24px rgba(10,60,39,.06);}
.trust-flow.nexid-federation-steps .flow-num{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#006747,#06b979)!important;color:white;font-size:15px;letter-spacing:0;line-height:1;}
.trust-flow.nexid-federation-steps h3{font-size:clamp(17px,1.5vw,21px);line-height:1.24;margin:18px 0 9px;letter-spacing:-.025em;overflow-wrap:break-word;color:#083c2e;}
.trust-flow.nexid-federation-steps p{font-size:14px;line-height:1.65;color:#476557;margin:0;}
.trust-flow.nexid-federation-steps article:not(:last-child):after{background:var(--nexid-orange);top:50%;}
html[data-theme="dark"] .trust-flow.nexid-federation-steps article{background:#10281f;border-color:#27513b;box-shadow:none;}
html[data-theme="dark"] .trust-flow.nexid-federation-steps h3{color:#f3fff7;}
html[data-theme="dark"] .trust-flow.nexid-federation-steps p{color:#aecdbb;}

/* Partner markers share the SVG's exact 820×660 equirectangular projection. */
.partner-map-wrap {isolation:isolate;}
.partner-map-pins {z-index:1;}
.partner-pin{position:absolute;width:16px;height:16px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;display:grid;place-items:center;touch-action:manipulation;transform:translate(calc(-50% + var(--pin-dx,0px)),calc(-50% + var(--pin-dy,0px)));transition:transform .18s ease,filter .18s ease;}
.partner-pin:focus-visible{outline:2px solid var(--nexid-orange);outline-offset:3px;}
.partner-pin svg{display:block;width:14px;height:14px;filter:drop-shadow(0px 1px 1px rgba(0,45,33,.45));}
.partner-pin:hover,.partner-pin.selected{outline:0;transform:translate(calc(-50% + var(--pin-dx,0px)),calc(-50% + var(--pin-dy,0px))) scale(1.18);z-index:3;filter:drop-shadow(0 0 4px rgba(255,142,0,.32));}
.partner-detail-header{display:flex;align-items:center;gap:16px;min-width:0;flex-wrap:wrap;margin-bottom:13px;}
.partner-detail-header h4{margin:0;overflow-wrap:anywhere;flex:1 1 130px;}
.partner-company-logo{width:126px;height:74px;flex:0 0 126px;object-fit:contain;object-position:center;display:block;padding:9px;background:#fff;border:1px solid #cee2d7;border-radius:13px;}
html[data-theme="dark"] .partner-company-logo{background:#fff;border-color:#426857;}
.partner-map-sidebar{min-width:0;}
.partner-detail a{overflow-wrap:anywhere;}

/* Home live map: never use a decorative stationary X; only real published countries. */
.teaser-map{height:auto!important;aspect-ratio:820/660;display:block!important;position:relative;}
.teaser-map>img{display:block;width:100%;height:100%;object-fit:fill;object-position:center;opacity:1;}
.home-map-pins{position:absolute;inset:0;pointer-events:none;z-index:1;}
.home-country-pin{position:absolute;width:11px;height:11px;transform:translate(-50%,-50%);display:block;filter:drop-shadow(0 1px 1px rgba(0,60,40,.45));}
.home-country-pin i{position:absolute;left:4px;top:-1px;width:3px;height:13px;display:block;border-radius:1px;transform:rotate(-45deg);background:#ff8300;}
.home-country-pin i+i{transform:rotate(45deg);background:#009c66;}
.teaser-map small{bottom:12px;right:14px;left:14px;text-align:right;background:rgba(229,252,241,.83);padding:5px 9px;border-radius:8px;width:max-content;max-width:calc(100% - 28px);margin-left:auto;line-height:1.4;}

/* Team: 4 profiles per row, 8 per page; editor controls source of all cards. */
.nexid-team-section{background:linear-gradient(115deg,#f7fdf9,#fffdfa);}
.nexid-team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px;align-items:stretch;}
.nexid-team-grid>.nexid-empty{grid-column:1/-1;}
.nexid-team-card{background:#fff;border:1px solid #dcece2;border-radius:22px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 10px 25px rgba(0,51,36,.055);min-width:0;}
.nexid-team-photo{height:220px;background:linear-gradient(145deg,#d5eee1,#fff1db);overflow:hidden;}
.nexid-team-photo img{height:100%;width:100%;display:block;object-fit:cover;object-position:center 24%;}
.team-photo-placeholder{height:100%;display:grid;place-items:center;color:#047652;}.team-photo-placeholder svg{width:75px;height:75px;opacity:.65;}
.nexid-team-copy{padding:19px 18px 20px;display:flex;flex:1;flex-direction:column;gap:8px;min-width:0;}
.nexid-team-copy h3{font-size:19px;line-height:1.25;margin:0;letter-spacing:-.025em;color:#073e31;overflow-wrap:break-word;}
.nexid-team-copy .team-role{font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.045em;color:#00885d;margin:0;}
.nexid-team-copy .team-bio{font-size:13px;color:#52665b;line-height:1.7;margin:3px 0 14px;overflow-wrap:anywhere;}
.team-linkedin{margin-top:auto;display:inline-flex;gap:9px;align-items:center;color:#0a735a;font-size:13px;font-weight:850;align-self:flex-start;}
.team-linkedin svg{width:20px;height:20px;color:#0a66c2;flex:0 0 20px;}
.team-pager{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:27px;}
.team-pager[hidden]{display:none;}
.team-pager button{border-radius:12px;border:1px solid #b5dfc9;background:#fff;color:#075e42;font-weight:800;padding:10px 16px;cursor:pointer;}
.team-pager button:disabled{opacity:.35;cursor:not-allowed;}
.team-pager span{font-size:14px;font-weight:900;color:#075e42;}

/* Clients: continuously moving carousel. Pause on hover and keyboard focus. */
.nexid-customers-section{background:linear-gradient(115deg,#e8f7ef,#fff5e9);}
.nexid-clients-carousel{width:100%;min-width:0;}
.brand-marquee{overflow:hidden;position:relative;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);}
.brand-marquee-track{display:flex;align-items:stretch;width:max-content;animation:nexid-brand-move var(--marquee-duration,30s) linear infinite;will-change:transform;}
.brand-marquee:hover .brand-marquee-track,.brand-marquee:focus-within .brand-marquee-track{animation-play-state:paused;}
.brand-marquee-set{display:flex;align-items:stretch;gap:20px;padding-right:20px;}
.client-logo-card{flex:0 0 185px;width:185px;min-width:185px;height:155px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#fff;border:1px solid #cde6d7;border-radius:18px;text-decoration:none;transition:border-color .2s,transform .2s;box-shadow:0 6px 15px rgba(7,60,46,.035);}
.client-logo-card[href]:hover{transform:translateY(-3px);border-color:#ff950a;}
.client-logo-frame{width:155px;height:91px;display:grid;place-items:center;overflow:hidden;padding:9px;}
.client-logo-frame img{width:100%;height:100%;display:block;object-fit:contain;object-position:center;}
.client-logo-frame span{color:#16664c;font-size:20px;font-weight:900;text-align:center;overflow-wrap:anywhere;}
.client-logo-name{font-size:12px;font-weight:800;color:#315b46;text-align:center;width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nexid-customers-actions{text-align:center;margin-top:30px;}
.nexid-empty{padding:35px;border-radius:18px;border:1px dashed #accfbd;text-align:center;color:#47745d;background:rgba(255,255,255,.35);font-weight:600;}
@keyframes nexid-brand-move{to{transform:translateX(-50%)}}

/* Directory page: one card per client, clearly linking outside Nexid in a new tab. */
.nexid-client-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.nexid-client-directory>.nexid-empty{grid-column:1/-1;}
.client-directory-card{padding:23px;border-radius:22px;background:var(--card,#fff);border:1px solid #d6e9dd;display:grid;grid-template-columns:165px 1fr;gap:20px;align-items:center;min-width:0;}
.client-directory-card .client-directory-logo{width:165px;min-width:0;height:145px;flex-basis:auto;}
.client-directory-card .client-logo-frame{width:145px;height:93px;}
.client-directory-copy h2{font-size:22px;line-height:1.25;letter-spacing:-.035em;margin:0 0 10px;color:#06472f;}
.client-directory-copy p{font-size:14px;line-height:1.7;color:#567261;margin:0 0 16px;}
.client-web-link{font-size:13px;font-weight:850;color:#078153;}

/* Theme adaptation. Logos remain on white, as company marks must not be recolored. */
html[data-theme="dark"] .nexid-team-section{background:#071f19;}
html[data-theme="dark"] .nexid-customers-section{background:linear-gradient(120deg,#082b21,#251e18);}
html[data-theme="dark"] .nexid-team-card,html[data-theme="dark"] .client-directory-card{background:#0d2c22;border-color:#245c40;box-shadow:none;}
html[data-theme="dark"] .nexid-team-copy h3,html[data-theme="dark"] .client-directory-copy h2{color:#eefff6;}
html[data-theme="dark"] .team-role{color:#4de1a2;}
html[data-theme="dark"] .nexid-team-copy .team-bio,html[data-theme="dark"] .client-directory-copy p{color:#accdb9;}
html[data-theme="dark"] .team-linkedin{color:#a9e9c5;}
html[data-theme="dark"] .team-pager button{background:#123629;color:#ddffe9;border-color:#315b47;}
html[data-theme="dark"] .team-pager span{color:#a3edc0;}
html[data-theme="dark"] .client-logo-card{background:#fff;border-color:#ceded4;}
html[data-theme="dark"] .nexid-empty{background:rgba(9,42,31,.4);color:#b4e1c8;border-color:#2e6149;}
html[data-theme="dark"] .teaser-map small{background:rgba(229,252,241,.93);color:#20563e;}

@media(max-width:1180px){
 .nexid-team-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
 .trust-flow.nexid-federation-steps{grid-template-columns:repeat(2,minmax(0,1fr));}
 .trust-flow.nexid-federation-steps article:nth-child(2):after{display:none;}
}
@media(max-width:800px){
 .nexid-team-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .nexid-client-directory{grid-template-columns:1fr;}
 .partner-company-logo{width:105px;height:65px;flex-basis:105px;}
}
@media(max-width:560px){
 .nexid-team-grid{grid-template-columns:1fr;}
 .nexid-team-photo{height:260px;}
 .trust-flow.nexid-federation-steps{grid-template-columns:1fr;}
 .trust-flow.nexid-federation-steps article{min-height:0;}
 .trust-flow.nexid-federation-steps article:after{display:none!important;}
 .partner-pin{width:14px;height:14px;}
 .partner-pin svg{width:12px;height:12px;}
 .home-country-pin{width:9px;height:9px;transform:translate(-50%,-50%);}
 .home-country-pin i{left:3px;top:-1px;width:2px;height:11px;}
 .client-directory-card{grid-template-columns:1fr;}
 .client-directory-card .client-directory-logo{width:100%;max-width:240px;margin:auto;}
 .team-pager{gap:8px;}
}
@media(prefers-reduced-motion:reduce){.brand-marquee-track{animation:none!important;}.brand-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none;}.brand-marquee-set[aria-hidden="true"]{display:none;}}

/* Navegación directa desde Inicio al mapa y perfiles personales */
#mapa{scroll-margin-top:108px}
.partner-person-photo{width:84px;height:84px;flex:0 0 84px;object-fit:cover;border-radius:50%;padding:3px;background:var(--surface,#fff)}
.partner-form .field[hidden]{display:none!important}

/* 2026-10-12 · Regional geolocation pins: precise tips + independent controls */
.partner-map-pins{position:absolute;inset:0;z-index:5;pointer-events:none;}
.partner-map-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;}
.partner-map-pins .partner-pin{
 position:absolute;box-sizing:border-box;width:28px;height:34px;padding:0 5px;
 display:flex;align-items:flex-end;justify-content:center;overflow:visible;
 border:0;border-radius:0;background:transparent;box-shadow:none;
 pointer-events:auto;cursor:pointer;touch-action:manipulation;
 transform:translate(calc(-50% + var(--pin-dx,0px)),calc(-100% + var(--pin-dy,0px)));
 transition:transform .15s ease, filter .15s ease;
}
.partner-pin-image{display:block;width:18px;height:24px;max-width:none;object-fit:contain;filter:drop-shadow(0 2px 1px rgba(29,48,43,.28));pointer-events:none;}
.partner-map-pins .partner-pin:hover,.partner-map-pins .partner-pin.selected{
 transform:translate(calc(-50% + var(--pin-dx,0px)),calc(-100% + var(--pin-dy,0px))) scale(1.1);
 outline:none;filter:drop-shadow(0 0 3px rgba(238,72,54,.25));z-index:7;
}
.partner-map-pins .partner-pin:focus-visible{outline:2px solid #e9293e;outline-offset:0;border-radius:9px;z-index:8;}
.home-country-pin{width:14px;height:20px;transform:translate(-50%,-100%);}
.home-country-pin .home-country-pin-image{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 1px 1px rgba(0,45,33,.35));}
@media(max-width:560px){
 .partner-map-pins .partner-pin{width:26px;height:32px;padding:0 4px;}
 .partner-pin-image{width:16px;height:22px;}
 .home-country-pin{width:12px;height:17px;transform:translate(-50%,-100%);}
}
/* Country labels appear only when a pin is selected, focused or hovered. */
.partner-map-pins .partner-pin:hover,
.partner-map-pins .partner-pin.selected,
.partner-map-pins .partner-pin:focus-visible{
 transform:translate(calc(-50% + var(--pin-dx,0px)),calc(-100% + var(--pin-dy,0px)));
}
.partner-map-pins .partner-pin::after{
 content:attr(data-country);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);
 padding:1px 4px;border-radius:4px;background:rgba(12,46,38,.92);
 font:700 10px/1.35 system-ui,sans-serif;color:#fff;letter-spacing:.04em;
 white-space:nowrap;opacity:0;pointer-events:none;
}
.partner-map-pins .partner-pin:hover::after,
.partner-map-pins .partner-pin.selected::after,
.partner-map-pins .partner-pin:focus-visible::after{opacity:1;}

/* Home preview: selecting a country opens its exact partner profile on the map. */
.home-map-pins .home-country-pin{pointer-events:auto;cursor:pointer;text-decoration:none;}
.home-map-pins .home-country-pin:focus-visible{outline:2px solid #e9293e;outline-offset:4px;border-radius:6px;}

/* 2026-10-12 · Client logos: preserve the original uploaded artwork.
   A single client is never cloned; no fade at the edges, no text overlay.
   These rules deliberately do not alter the partners map or the admin. */
.nexid-clients-carousel .brand-marquee{
  mask-image:none!important;
  -webkit-mask-image:none!important;
  overflow:hidden;
}
.nexid-clients-carousel .brand-static-grid{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:22px;
  width:100%;
}
.nexid-clients-carousel .brand-static-grid.brand-single{
  justify-content:center;
}
.nexid-clients-carousel .client-logo-card,
.nexid-client-directory .client-logo-card{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  padding:10px;
  gap:0;
  width:210px;
  min-width:210px;
  flex:0 0 210px;
  height:190px;
  background:#fff;
  cursor:default;
  box-shadow:none;
  transform:none!important;
}
.nexid-clients-carousel .client-logo-card .client-logo-frame,
.nexid-client-directory .client-logo-card .client-logo-frame{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  box-sizing:border-box;
  overflow:hidden;
  padding:0;
}
.nexid-clients-carousel .client-logo-card img,
.nexid-client-directory .client-logo-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  max-width:100%;
  max-height:100%;
  filter:none;
  mix-blend-mode:normal;
}
.nexid-clients-carousel .client-logo-name,
.nexid-client-directory .client-logo-name{display:none!important;}
.nexid-clients-carousel .brand-marquee-set{
  gap:22px;
  padding-right:22px;
}
.nexid-client-directory.client-directory-single{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  width:100%;
  max-width:1000px;
}
.nexid-client-directory .client-directory-card{
  grid-template-columns:220px minmax(0,1fr);
  gap:26px;
  align-items:center;
}
.nexid-client-directory .client-directory-card .client-directory-logo{
  flex:0 0 220px;
  width:220px;
  height:210px;
  min-width:0;
  max-width:100%;
  margin:0;
}
.nexid-client-directory .client-directory-copy h2,
.nexid-client-directory .client-directory-copy p{overflow-wrap:anywhere;}
html[data-theme="dark"] .nexid-client-directory .client-logo-card,
html[data-theme="dark"] .nexid-clients-carousel .client-logo-card{
  background:#fff;
  border-color:#dce7df;
}
@media(max-width:650px){
  .nexid-client-directory .client-directory-card{
    grid-template-columns:minmax(0,1fr);
    gap:16px;
  }
  .nexid-client-directory .client-directory-card .client-directory-logo{
    margin:0 auto;
    max-width:220px;
    width:100%;
  }
  .nexid-clients-carousel .client-logo-card{width:190px;min-width:190px;flex-basis:190px;height:170px;}
}

/* Nexid Team v2: four home positions + full searchable-by-page directory. */
.nexid-team-home-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.nexid-team-cta{display:flex;justify-content:center;margin:30px 0 0;}
.nexid-team-cta .btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:48px;}
.nexid-team-placeholder{min-width:0;min-height:390px;border:1px dashed #94baa6;border-radius:22px;background:rgba(242,251,245,.7);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:22px;text-align:center;color:#426b54;}
.nexid-team-placeholder-symbol{height:92px;width:92px;border-radius:25px;display:grid;place-items:center;background:linear-gradient(140deg,#d7f4e5,#ffefd7);color:#11805b;}
.nexid-team-placeholder-symbol svg{width:68px;height:68px;}
.nexid-team-placeholder strong{font-size:17px;color:#0c6347;line-height:1.3;}
.nexid-team-placeholder span{font-size:13px;line-height:1.4;}
html[data-theme="dark"] .nexid-team-placeholder{background:#0b2920;color:#9ccbb4;border-color:#305d48;}
html[data-theme="dark"] .nexid-team-placeholder strong{color:#d2fbe2;}
.nexid-team-directory-section{min-height:420px;}
.nexid-team-directory-section .nexid-team-grid{margin-top:6px;}
@media(max-width:1180px){.nexid-team-home-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:800px){.nexid-team-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.nexid-team-placeholder{min-height:350px;}}
@media(max-width:560px){.nexid-team-home-grid{grid-template-columns:1fr;}.nexid-team-placeholder{min-height:230px;}.nexid-team-placeholder-symbol{height:65px;width:65px;}.nexid-team-placeholder-symbol svg{width:45px;height:45px;}}
