/* GC CORP – styles.css (enfoque mobile-first, misma paleta) */
:root{
  --primary-dark:#0C2E4B;
  --accent-red:#D70E19;
  --light-blue-bg:#e3f2fd;
  --text-color:#222;
  --muted:#6b7280;
  --card-bg:#ffffff;
  --team-member-bg:#f5f5f5;
  --radius-lg:16px;
  --radius-md:12px;
  --radius-sm:10px;
  --shadow-xs:0 1px 2px rgba(0,0,0,.06);
  --shadow-sm:0 2px 8px rgba(0,0,0,.08);
  --shadow-md:0 8px 24px rgba(0,0,0,.12);
  --ring: 0 0 0 3px rgba(215,14,25,.15);
}

/* RESET LIGERO */
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text-color);
  line-height:1.55;
  background:radial-gradient(80rem 80rem at 0% -10%, #0c2e4b 0%, #004d7a 45%, #09314d 100%);
  min-height:100dvh;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* LAYOUT */
.container{
  display:flex;
  flex-direction:column;
  gap:40px;
  max-width:1000px;
  margin-inline:auto;
  padding:20px clamp(16px, 2.5vw, 32px) 48px;
}

/* TOP BAR */
.top-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px clamp(14px,2vw,20px);
  border-radius:calc(var(--radius-lg) + 4px);
  backdrop-filter:saturate(1.2) blur(8px);
  background:linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.12));
  border:1px solid rgba(255,255,255,.25);
  box-shadow:var(--shadow-sm);
}
.logo img{height:64px;width:auto}

/* FLAGS */
.language-selector{display:flex;gap:10px;margin-left:auto}
.language-selector img{
  width:30px;height:20px;border-radius:6px;border:1px solid rgba(0,0,0,.1);
  box-shadow:var(--shadow-xs);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
  cursor:pointer; filter:saturate(.9)
}
.language-selector img:hover{transform:translateY(-1px) scale(1.03);box-shadow:0 6px 18px rgba(0,0,0,.12);filter:saturate(1)}
.language-selector img.active{outline:2px solid var(--accent-red);box-shadow:0 0 0 3px rgba(215,14,25,.18)}

/* SECCIONES / CARDS */
.section,.card{
  background:var(--card-bg);
  border:1px solid rgba(0,0,0,.05);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-md);
  padding:28px clamp(20px, 2.5vw, 36px);
  transition:transform .25s ease, box-shadow .25s ease;
}
.section:hover,.card:hover{transform:translateY(-3px)}
.section-title{
  margin:0 0 18px;
  font-size:clamp(22px, 2.8vw, 30px);
  font-weight:800;
  color:var(--primary-dark);
  text-align:center;
  letter-spacing:.3px;
  position:relative;
}
.section-title::after{
  content:'';
  display:block;
  width:70px;height:4px;border-radius:4px;background:var(--accent-red);
  margin:10px auto 0;
}

/* MAIN CARD */
.main-card{
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
  align-items:start;
}
@media (min-width: 840px){
  .main-card{grid-template-columns:1.05fr 1.1fr;gap:34px;align-items:center}
}

.info-section{text-align:center}
.info-section .profile-pic{
  width:132px;height:132px;border-radius:999px;object-fit:cover;object-position:top;
  border:5px solid var(--accent-red);
  box-shadow:var(--shadow-sm);
  margin:0 auto 16px;
}
.info-section h1{
  margin:0 0 6px;
  font-size:clamp(24px, 4.5vw, 34px);
  font-weight:800;
  color:var(--primary-dark);
}
.info-section h2{
  margin:0 0 18px;
  font-size:clamp(14px, 2.2vw, 18px);
  font-weight:600;
  color:var(--muted);
}

/* BLOQUE DE DATOS (etiqueta/valor) */
.info-section p{
  margin:10px 0;
  display:grid;
  grid-template-columns: 1fr;     /* móvil: etiqueta arriba, valor abajo */
  gap:4px;
  text-align:left;
}
.info-section p strong{
  color:var(--primary-dark);
  font-weight:700;
}
.info-section p a{
  color:#0d2f4b;
  border-bottom:1px dashed rgba(13,47,75,.25);
  word-break:break-word;
}
.info-section p a:hover{color:var(--accent-red);border-color:transparent}

/* en pantallas grandes, dos columnas etiqueta/valor */
@media (min-width: 700px){
  .info-section p{
    grid-template-columns: 140px 1fr;
    align-items:center;
  }
  .info-section p strong{min-width:140px}
}

/* QR + BOTONES */
.qr-section{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.qr-section img{
  width:min(58vw, 220px);
  height:auto;
  border-radius:14px;
  box-shadow:var(--shadow-sm);
  margin-bottom:14px;
}
.qr-section p{color:#0c2236;margin:0 0 14px;font-weight:600}

/* BOTONES centrados y de igual tamaño */
.buttons{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  width:100%;
  margin-top:10px;
}
.buttons .primary,
.buttons .secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  max-width:320px;
  padding:13px 0;
  border-radius:14px;
  border:2px solid transparent;
  font-weight:800;
  letter-spacing:.2px;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
  text-decoration:none;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
  box-shadow:var(--shadow-sm);
}
.buttons .primary{
  background:var(--accent-red);
  color:#fff;
  border-color:var(--accent-red);
}
.buttons .primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(215,14,25,.25)}
.buttons .secondary{
  background:#fff;
  color:var(--primary-dark);
  border-color:var(--primary-dark);
}
.buttons .secondary:hover{background:var(--primary-dark);color:#fff}

/* MENSAJE */
.msg{min-height:20px;color:var(--primary-dark);font-weight:600;text-align:center}

/* ABOUT */
.about-us p{color:var(--muted);text-align:center}

/* TEAM GRID */
.team-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:16px;
  margin-top:14px;
}
@media (min-width:600px){ .team-grid{grid-template-columns:repeat(auto-fit, minmax(165px, 1fr))} }
.team-member{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  background:var(--team-member-bg);
  border:1px solid rgba(0,0,0,.05);
  border-radius:18px;padding:18px 16px;box-shadow:var(--shadow-sm);
  transition:transform .22s ease, box-shadow .22s ease;
}
.team-member:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.team-member img{
  width:100px;height:100px;border-radius:999px;object-fit:cover;object-position:top;border:4px solid var(--accent-red);margin-bottom:10px
}
.team-member h3{margin:4px 0 2px;font-size:15px;font-weight:700;color:#0c2236;text-wrap:balance}
.team-member p{margin:0 0 8px;font-size:13px;color:#415a74}
.team-member a{
  margin-top:auto;font-size:14px;font-weight:800;color:var(--accent-red);
  border-bottom:1px dashed rgba(215,14,25,.35);padding-bottom:2px
}
.team-member a:hover{border-bottom-color:transparent}

/* UTILS */
.hidden{display:none !important}

/* RESPONSIVE FINOS */
@media (max-width: 900px){
  .logo img{height:56px}
}
@media (max-width: 600px){
  .container{padding-inline:16px}
  .buttons .primary,.buttons .secondary{border-radius:12px}
}

/* ACCESIBILIDAD & MOTION */
:focus-visible{outline:none;box-shadow:var(--ring)}
@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
