/* GLOBAL */

body{
margin:0;
font-family:'Inter', sans-serif;
background:#f5f6f8;
color:#222;
}

h1{
font-weight:700;
}

h2, h3{
font-weight:600;
}

p{
font-weight:400;
line-height:1.5;
}


/* NAVBAR */

.navbar{
background:#ffffff;
display:flex;
justify-content:space-between;
align-items:center;
padding:18px 40px;
border-bottom:1px solid #e5e5e5;
}


.logos{
display:flex;
gap:28px;           /* más espacio entre logos */
align-items:center;
}

.logo{
height:60px;        /* logos más grandes */
width:auto;         /* mantiene proporción */
}

.menu{
display:flex;
align-items:center;
gap:30px;
}

.menu a{
text-decoration:none;
color:#2f5fa7;   /* azul */
font-weight:500;
}

.menu a:hover{
color:#1f4a87;
}

.search{
font-size:18px;
cursor:pointer;
}


/* HERO */

.hero{
text-align:center;
padding:40px 20px 20px 20px;
max-width:1000px;
margin:auto;
}

.hero h1{
font-size:38px;
margin-bottom:20px;
}

.hero p{
max-width:850px;
margin:auto;
color:#666;
font-size:18px;
}


/* CARDS */

.cards{
display:flex;
justify-content:center;
gap:40px;
padding:30px;
flex-wrap:wrap;
max-width:1100px;
margin:auto;
}

.card{
width:320px;
background:white;
border-radius:18px;
overflow:hidden;
box-shadow:0 8px 18px rgba(0,0,0,0.08);
transition:transform 0.2s ease;
}

.card:hover{
transform:translateY(-5px);
}

.card img{
width:100%;
height:180px;
object-fit:cover;
}

.card-content{
padding:22px;
}

.card h3{
margin-top:0;
font-size:22px;
}

.card p{
color:#666;
font-size:14px;
margin-bottom:10px;
}

/* LISTAS EN TARJETAS */

.card ul{
padding-left:18px;
color:#555;
font-size:14px;
margin-top:10px;
margin-bottom:15px;
}

.card li{
margin-bottom:6px;
}


/* BOTONES */

button{
margin-top:10px;
padding:10px 22px;
border:none;
background:#3b6cb7;
color:white;
border-radius:7px;
cursor:pointer;
font-weight:500;
font-size:14px;
}

button:hover{
background:#2f58a0;
}

.btn-link{
display:block;
text-decoration:none;
background:#e7eef8;      /* fondo claro */
color:#355f9c;           /* azul del texto */
padding:9px 14px;
border-radius:8px;
margin-top:10px;
font-size:14px;
font-weight:500;
text-align:center;
border:1px solid #d2dced;
transition:all 0.2s ease;
}

/* invertir colores al pasar el cursor */

.btn-link:hover{
background:#355f9c;      /* mismo azul del texto */
color:#ffffff;           /* texto blanco */
border-color:#355f9c;
}

/* texto alternativo */

.btn-link span.hover-text{
display:none;
}

.btn-link:hover span.normal-text{
display:none;
}

.btn-link:hover span.hover-text{
display:inline;
color:white;
}

/* FOOTER */

footer{
text-align:center;
padding:25px;
color:#777;
font-size:14px;
margin-top:20px;
}


/* ── METADATOS PAGE ─────────────────────────── */

.meta-hero {
  text-align: center;
  padding: 48px 20px 28px;
  max-width: 860px;
  margin: auto;
}

.meta-hero h1 {
  font-size: 34px;
  margin-bottom: 14px;
}

.meta-hero p {
  color: #666;
  font-size: 17px;
  max-width: 700px;
  margin: auto;
  line-height: 1.6;
}

.meta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 28px;
  max-width: 1100px;
  margin: 0 auto 60px;
  padding: 0 30px;
}

.meta-card {
  background: white;
  border-radius: 16px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.07);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.meta-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0,0,0,0.11);
}

.meta-card-stripe {
  height: 6px;
}

.stripe-interno    { background: #3b6cb7; }
.stripe-casos      { background: #2d9e6b; }
.stripe-proyectos  { background: #c0782a; }

.meta-card-body {
  padding: 24px 24px 20px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.meta-card-category {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: #888;
}

.meta-card-title {
  font-size: 17px;
  font-weight: 700;
  color: #1a1a2e;
  line-height: 1.35;
  margin: 0;
}

.meta-card-desc {
  font-size: 13.5px;
  color: #555;
  line-height: 1.6;
  flex: 1;
}

.meta-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}

.tag {
  font-size: 11.5px;
  font-weight: 500;
  background: #eef2fb;
  color: #3b6cb7;
  padding: 3px 10px;
  border-radius: 20px;
  border: 1px solid #d6e0f5;
}

.meta-card-footer {
  padding: 0 24px 22px;
  display: flex;
  gap: 10px;
}

.btn-meta {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  text-decoration: none;
  padding: 9px 16px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  font-family: 'Inter', sans-serif;
  transition: all 0.18s ease;
  border: none;
  cursor: pointer;
}

.btn-meta-pdf {
  background: #3b6cb7;
  color: white;
}

.btn-meta-pdf:hover {
  background: #2f58a0;
}

.btn-meta-vis {
  background: #eef2fb;
  color: #3b6cb7;
  border: 1px solid #d6e0f5;
}

.btn-meta-vis:hover {
  background: #3b6cb7;
  color: white;
  border-color: #3b6cb7;
}

.btn-meta-dis {
  background: #f0f0f0;
  color: #aaa;
  cursor: not-allowed;
  border: 1px solid #e0e0e0;
}

.ico { font-size: 14px; }


/* ── CONTACTO PAGE ──────────────────────────── */

.contact-container {
  max-width: 700px;
  margin: auto;
  padding: 40px 20px;
}

.contact-box {
  background: white;
  padding: 30px;
  border-radius: 15px;
  box-shadow: 0 8px 18px rgba(0,0,0,0.08);
}

.contact-box h2 {
  margin-top: 0;
}

.contact-box p {
  color: #666;
  margin-bottom: 20px;
}

.form-group {
  margin-bottom: 18px;
}

.form-group label {
  display: block;
  margin-bottom: 6px;
  font-weight: 500;
}

.form-group input,
.form-group textarea {
  width: 100%;
  padding: 10px;
  border-radius: 6px;
  border: 1px solid #ccc;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  box-sizing: border-box;
}

.form-group textarea {
  height: 140px;
  resize: vertical;
}

.contact-info {
  margin-top: 25px;
  color: #444;
  font-size: 14px;
  line-height: 1.6;
}

/* DROPDOWN MENU */

.dropdown{
position:relative;
}

.dropdown-content{
display:none;
position:absolute;
background:white;
min-width:260px;
box-shadow:0 6px 14px rgba(0,0,0,0.12);
border-radius:10px;
padding:10px 0;
top:100%;
left:0;
z-index:100;
}

.dropdown-content a{
display:block;
padding:8px 18px;
color:#2f5fa7;
text-decoration:none;
font-size:14px;
}

.dropdown-content a:hover{
background:#f1f4f8;
}

.dropdown:hover .dropdown-content{
display:block;
}

.dropdown-section{
padding:6px 18px;
}

.dropdown-section strong{
display:block;
font-size:13px;
color:#777;
margin-top:6px;
margin-bottom:4px;
}

.dropdown-meta-link {
  display: none;
}

.btn-link.disabled{
background:#eaeaea;
color:#888;
border:1px solid #ddd;
cursor:not-allowed;
}

.menu-disabled{
color:#9a9a9a !important;
cursor:not-allowed;
text-decoration:none;
}

.menu-disabled:hover{
color:#9a9a9a;
}