/*
 * INFISAD Enterprise · 11.9.40
 * Ajustes públicos temporales + software a medida + contador.
 */

/* Contador visible en la portada */
.public-site .corporate-metrics .metrics-grid{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.public40-visit-counter{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(206,164,55,.34)!important;
  background:
    radial-gradient(
      circle at 85% 15%,
      rgba(218,177,64,.18),
      transparent 36%
    ),
    linear-gradient(
      145deg,
      rgba(31,27,17,.96),
      rgba(12,13,11,.96)
    )!important;
}
.public40-visit-counter::after{
  content:"";
  position:absolute;
  right:-24px;
  bottom:-36px;
  width:90px;
  height:90px;
  border:1px solid rgba(224,183,63,.18);
  border-radius:50%;
}
.public40-visit-counter strong{
  color:#f2cf67!important;
}
.public40-visit-counter small{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.56);
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Promoción: desarrollo de software a medida */
.public40-software{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(
      circle at 82% 28%,
      rgba(216,173,58,.15),
      transparent 31%
    ),
    linear-gradient(135deg,#0a0c0a,#151812 58%,#201b0d);
  color:#f7f4eb;
}
.public40-software::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(
      rgba(226,185,70,.045) 1px,
      transparent 1px
    ),
    linear-gradient(
      90deg,
      rgba(226,185,70,.045) 1px,
      transparent 1px
    );
  background-size:38px 38px;
  mask-image:linear-gradient(
    90deg,
    transparent,
    #000 45%,
    #000
  );
}
.public40-software-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);
  gap:54px;
  align-items:center;
}
.public40-software .eyebrow{
  color:#e6bd4d;
}
.public40-software h2{
  max-width:900px;
  margin:0;
  color:#fff;
  font-size:clamp(34px,4.1vw,62px);
  line-height:1.02;
  letter-spacing:-.045em;
}
.public40-software .public40-lead{
  max-width:820px;
  margin:20px 0 0;
  color:rgba(255,255,255,.76);
  font-size:17px;
  line-height:1.65;
}
.public40-software-question{
  display:inline-flex;
  margin-top:20px;
  padding:9px 12px;
  border:1px solid rgba(231,192,80,.3);
  border-radius:999px;
  background:rgba(224,183,63,.07);
  color:#efd16c;
  font-size:12px;
  font-weight:850;
}
.public40-capabilities{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:24px 0 27px;
}
.public40-capabilities span{
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:9px;
  background:rgba(255,255,255,.035);
  color:rgba(255,255,255,.8);
  font-size:11px;
  font-weight:800;
}
.public40-software .gold-button{
  box-shadow:0 14px 32px rgba(214,169,50,.15);
}
.public40-software-note{
  display:block;
  margin-top:13px;
  color:rgba(255,255,255,.53);
  font-size:11px;
}

/* Visual abstracto de software */
.public40-software-visual{
  position:relative;
  min-height:430px;
}
.public40-terminal{
  position:absolute;
  inset:38px 10px 24px 42px;
  padding:18px;
  border:1px solid rgba(229,187,67,.23);
  border-radius:22px;
  background:
    linear-gradient(
      145deg,
      rgba(15,18,14,.96),
      rgba(5,7,6,.96)
    );
  box-shadow:
    0 35px 70px rgba(0,0,0,.34),
    inset 0 1px rgba(255,255,255,.04);
}
.public40-terminal-top{
  display:flex;
  gap:6px;
  margin-bottom:20px;
}
.public40-terminal-top i{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#675c37;
}
.public40-terminal-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.public40-terminal-card{
  min-height:108px;
  padding:14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.035);
}
.public40-terminal-card strong,
.public40-terminal-card span{
  display:block;
}
.public40-terminal-card strong{
  color:#f3d16c;
  font-size:12px;
}
.public40-terminal-card span{
  margin-top:7px;
  color:rgba(255,255,255,.57);
  font-size:10px;
  line-height:1.45;
}
.public40-terminal-card.wide{
  grid-column:1/-1;
  min-height:130px;
}
.public40-flow{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:15px;
}
.public40-flow b{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border:1px solid rgba(229,187,67,.25);
  border-radius:10px;
  background:rgba(229,187,67,.06);
  color:#efd06a;
  font-size:10px;
}
.public40-flow em{
  flex:1;
  height:1px;
  background:
    linear-gradient(
      90deg,
      #5d4d20,
      #e6bd4d,
      #5d4d20
    );
}
.public40-orbit{
  position:absolute;
  width:110px;
  height:110px;
  border:1px solid rgba(231,190,72,.25);
  border-radius:50%;
}
.public40-orbit.one{
  top:0;
  right:0;
}
.public40-orbit.two{
  bottom:0;
  left:0;
  width:72px;
  height:72px;
}
.public40-orbit::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#e2b945;
  transform:translate(-50%,-50%);
  box-shadow:0 0 26px rgba(226,185,69,.75);
}

/* Página separada de accesos privados */
.public40-access-page{
  min-height:70vh;
}
.public40-access-hero{
  padding:88px 0 64px;
  background:
    radial-gradient(
      circle at 70% 10%,
      rgba(212,170,53,.12),
      transparent 32%
    ),
    #0a0c0a;
  color:#fff;
}
.public40-access-hero h1{
  margin:0;
  font-size:clamp(42px,5vw,66px);
  letter-spacing:-.04em;
}
.public40-access-hero p:last-child{
  max-width:720px;
  margin:15px 0 0;
  color:rgba(255,255,255,.7);
  font-size:16px;
}
.public40-access-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  max-width:1050px;
}
.public40-access-grid article{
  padding:32px;
  border:1px solid #dbe1e8;
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 48px rgba(15,23,42,.07);
}
.public40-access-grid article.public40-access-admin{
  border-top:3px solid #cf9f2f;
}
.public40-access-icon{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin-bottom:18px;
  border-radius:13px;
  background:#11150f;
  color:#e0b83e;
  font-size:25px;
}
.public40-access-grid small{
  color:#8a6d23;
  font-weight:900;
  letter-spacing:.09em;
}
.public40-access-grid h2{
  margin:7px 0 11px;
  color:#121827;
  font-size:27px;
}
.public40-access-grid p{
  min-height:72px;
  color:#59677a;
  line-height:1.55;
}
.public40-access-note{
  max-width:1050px;
  margin-top:18px;
  padding:16px 18px;
  border:1px dashed #cad2dc;
  border-radius:12px;
  background:#f8fafc;
  color:#536174;
}
.public40-access-note code{
  margin:0 8px;
  color:#172235;
  font-weight:800;
}

/* Facebook en footer */
.public40-facebook-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.public40-facebook-link::before{
  content:"f";
  display:grid;
  place-items:center;
  width:19px;
  height:19px;
  border-radius:50%;
  background:#1b315b;
  color:#fff;
  font-weight:900;
  font-family:Arial,sans-serif;
}

@media(max-width:1180px){
  .public-site .corporate-metrics .metrics-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .public40-software-grid{
    grid-template-columns:1fr;
  }
  .public40-software-visual{
    min-height:390px;
    max-width:720px;
    width:100%;
    margin:0 auto;
  }
}
@media(max-width:760px){
  .public-site .corporate-metrics .metrics-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .public40-access-grid{
    grid-template-columns:1fr;
  }
  .public40-access-grid p{
    min-height:0;
  }
  .public40-access-note code{
    display:block;
    margin:7px 0;
    overflow-wrap:anywhere;
  }
}
@media(max-width:520px){
  .public-site .corporate-metrics .metrics-grid{
    grid-template-columns:1fr;
  }
  .public40-terminal{
    inset:28px 0 20px;
  }
  .public40-terminal-grid{
    grid-template-columns:1fr;
  }
  .public40-terminal-card.wide{
    grid-column:auto;
  }
  .public40-software-visual{
    min-height:590px;
  }
}
