/* styles.css */

/* Reset básico */
body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  color: #212529;
  background-color: #f9f9fb;
  line-height: 1.6;
  scroll-behavior: smooth;
}
/* ---------------------------------------------------------------------------------------------------------------------------- */
/* NAVBAR */
.navbar {
  transition: all 0.3s ease-in-out;
}

.navbar-brand img {
  max-height: 50px;
}

.nav-link {
  color: #ffffff !important;
  margin-left: 1rem;
  transition: color 0.3s;
}

.nav-link:hover {
  color: #007BFF !important;
}
/* ---------------------------------------------------------------------------------------------------------------------------- */
/* HERO */
.hero-section {
  height: 100vh;
  background-size: 650px auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.hero-section::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.134));
  z-index: 1;
}

.hero-section .container {
  position: relative;
  z-index: 2;
  color: rgb(0, 0, 0);
  text-align: center;
  padding: 0 20px;
}

.hero-section h1 {
  font-size: 3rem;
  font-weight: 700;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.6);
}

.hero-section p {
  font-size: 1.3rem;
  margin-bottom: 1.5rem;
}

.btn-primary {
  background-color: #a7c94b;
  border-color: #a7c94b;
  padding: 0.75rem 1.5rem;
  font-size: 1.1rem;
  transition: background 0.3s ease-in-out;
}

.btn-primary:hover {
  background-color: #0056b3;
  border-color: #0056b3;
}
/* ---------------------------------------------------------------------------------------------------------------------------- */
/* SECCIONES */
section {
  padding: 80px 0;
}

section h2 {
  font-size: 2.5rem;
  margin-bottom: 2rem;
  color: #2b4e84;
  font-weight: 700;
}

section p, section li {
  color: #555;
  font-size: 1.1rem;
}

/* ---------------------------------------------------------------------------------------------------------------------------- */
/* CARDS DE Productos */

.product-description {
  padding-bottom: 12px;
}

.product-description {
  padding-inline-start: 16px; /* Espacio a la izquierda */
}


/* ---------------------------------------------------------------------------------------------------------------------------- */
/* CARDS DE SERVICIOS */
.card {
  border: none;
  border-radius: 12px;
  transition: all 0.3s ease-in-out;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

.card-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #2a4d88;
}
/* ---------------------------------------------------------------------------------------------------------------------------- */
/* FORMULARIO DE CONTACTO */
input, textarea {
  border-radius: 8px !important;
  border: 1px solid #ced4da;
}

textarea {
  resize: vertical;
}
/* ---------------------------------------------------------------------------------------------------------------------------- */
/* FOOTER */
footer {
  background-color: #003973;
  color: white;
  font-size: 0.95rem;
}

#col-foot {
  display: flex;
  justify-content: center;      
}

#col-foot ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;       
  margin: 0;
  padding: 0;
}

.icon-list + .icon-list {
  margin-top: 12px;
}

.icon-list a {
  margin-left: 8px; 
  display: inline-block;
}

.icon-list img {
  vertical-align: middle;
}

.icon-list a {
  margin-left: 8px;
  display: inline-block;
  vertical-align: middle;
}

@media (max-width: 767.98px) {
  .mapouter {
    display: none !important;
  }
}

footer p {
  margin-bottom: 0;
}

.social-links-nav {margin: 10px;}
#col-foot img {height: auto}
.icon-list {margin: 10px 0;}

/* LICITACIONES */ 

/* ===========================
   LICITACIONES — UI mejorada
   =========================== */
.licitaciones-controls .form-select,
.licitaciones-controls .form-control {
  border-radius: 10px;
}

#gridLicitaciones .lic-card .card {
  border: 1px solid #e9edf4;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(16, 24, 40, 0.06);
  transition: transform .25s ease, box-shadow .25s ease;
}
#gridLicitaciones .lic-card .card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 26px rgba(16, 24, 40, 0.10);
}

.lic-accent{
  position:absolute; left:0; top:0; bottom:0; width:6px;
  border-top-left-radius:16px; border-bottom-left-radius:16px;
  background: linear-gradient(180deg, #a7c94b, #2b4e84);
  opacity:.9;
}

.lic-title{
  color:#2b4e84;
  font-weight:700;
  font-size:1.05rem;
  line-height:1.3;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
  margin-right:8px;
}
.lic-badge-year{
  background:#eef6da; color:#4b6620; border:1px solid #deefb4;
  font-weight:600;
}

.lic-divider{
  margin: .5rem 0 1rem 0;
  border: 0;
  border-top: 1px dashed #e5eaf1;
}

.lic-meta .lic-icon{
  width:18px; display:inline-block; margin-right:6px; transform: translateY(1px);
  color:#a7c94b;
}
.lic-meta .lic-key{
  color:#6b7280; font-weight:600; margin-right:4px;
}
.lic-meta .lic-val{
  color:#111827;
}

/* Chips de filtros activos */
.lic-chips .chip{
  display:inline-flex; align-items:center; gap:6px;
  background:#f1f5f9; border:1px solid #e5e7eb; color:#334155;
  padding:.25rem .5rem; border-radius:999px; font-size:.85rem; margin-left:.25rem;
}
.lic-chips .chip button{
  border:0; background:transparent; line-height:1; cursor:pointer; color:#475569;
}