/* styles.css – SERVITEC */
:root{
  --green:#0a7d37;
  --accent:#e7b008;
  --text:#0f172a;
  --muted:#6b7280;
  --bg:#f8fafc;
  --card:#ffffff;
  --border:#e6eef3;
  --shadow:0 10px 25px rgba(0,0,0,.08);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{cursor:pointer}

.container{max-width:1120px;margin:0 auto;padding:0 20px}
.section{padding:72px 0}
.section.alt{background:#fff}
h1,h2{line-height:1.15}
h1{font-size:clamp(28px,3.2vw,44px);margin:0 0 12px}
h2{font-size:clamp(22px,2.4vw,32px);margin:0 0 20px}
h3{margin:0 0 8px}

/* Header */
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);z-index:10}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{display:flex;flex-direction:column;line-height:1}
.brand-logo{font-weight:700;letter-spacing:.5px}
.brand-sub{font-size:12px;color:var(--muted)}

.nav{display:flex;gap:16px;align-items:center}
.nav a{padding:8px 10px;border-radius:10px}
.nav a:hover{background:#f2f5f7}
.btn{background:var(--green);color:#fff;padding:12px 16px;border-radius:12px;display:inline-block;box-shadow:var(--shadow);transition:transform .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-outline{background:#fff;color:var(--green);border:1px solid var(--green)}
.btn-sm{padding:8px 12px}
.menu{display:none;background:none;border:0;font-size:26px}

/* Hero */
.hero{background:#fff;padding:72px 0 36px}
.hero-inner{text-align:center}
.hero .actions{display:flex;gap:12px;justify-content:center;margin:20px 0 28px}
.hero-media{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.hero-media img{border-radius:14px;box-shadow:var(--shadow);}

/* Grids & cards */
.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start}
.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:18px}
.card:hover{outline:2px solid #eaf3ee}
.badge-list{display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none}
.badge-list li{background:#eef7f1;border:1px dashed #d6e9dc;border-radius:999px;padding:8px 12px;font-size:14px;width:max-content}

.data,.list{margin:0;padding-left:16px}
.data li,.list li{margin:8px 0}

/* Table */
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:14px;background:#fff}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:12px 14px;border-bottom:1px solid var(--border);text-align:left}
.table thead th{background:#f1f5f9}

/* Nota */
.note{border-left:6px solid var(--accent);background:#fff9e8;padding:18px;border-radius:10px}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gallery img{border-radius:12px;box-shadow:var(--shadow);transition:transform .15s ease}
.gallery img:hover{transform:scale(1.01)}

/* Footer */
.site-footer{border-top:1px solid var(--border);background:#fff}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 0}
.wsp{border:1px solid #25d366;border-radius:999px;padding:8px 14px}
.wsp:hover{background:#eafff1}

/* Form */
.form{display:grid;gap:12px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:18px}
.form label{display:grid;gap:6px;font-size:14px}
.form input,.form textarea{border:1px solid var(--border);border-radius:10px;padding:10px}

/* Responsive */
@media (max-width:1000px){
  .cards{grid-template-columns:repeat(3,1fr)}
  .grid-2{grid-template-columns:1fr}
}
@media (max-width:720px){
  .hero-media{grid-template-columns:1fr}
  .cards{grid-template-columns:repeat(2,1fr)}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .nav{display:none;position:absolute;top:64px;right:0;background:#fff;border:1px solid var(--border);border-radius:12px;margin:10px;padding:10px;flex-direction:column;box-shadow:var(--shadow)}
  .menu{display:block}
}


/* --- Enhancements: gallery animations & lightbox --- */
.gallery img{
  border-radius:12px;
  box-shadow:var(--shadow);
  transition:transform .18s ease, box-shadow .18s ease, opacity .2s ease;
  aspect-ratio: 4 / 3;           /* evita cortes raros */
  width:100%;
  height:auto;
  object-fit: cover;              /* mantiene proporciones sin deformar */
  opacity: .98;
}
.gallery img:hover{
  transform:scale(1.03);
  box-shadow:0 14px 36px rgba(0,0,0,.18);
  opacity: 1;
}

/* Lightbox overlay */
.lightbox{
  position:fixed; inset:0; z-index:1000;
  background:rgba(0,0,0,.8);
  display:none; align-items:center; justify-content:center;
  padding:24px;
}
.lightbox.open{ display:flex; }
.lightbox img{
  max-width:90vw; max-height:90vh; border-radius:14px;
  box-shadow:0 20px 50px rgba(0,0,0,.4);
  transform:scale(.96);
  transition: transform .18s ease;
}
.lightbox.open img{ transform:scale(1); }
.lightbox .close{
  position:absolute; top:18px; right:18px;
  background:#fff; border-radius:999px; padding:8px 12px;
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  cursor:pointer;
}


.logo-header{
  height: 54px;
  width: auto;
}

.hero-title-top{
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 700;
  color: var(--green);
  margin: 0 0 10px 0;
  display: block;
}

.hero-logo-mid{
  margin: 14px auto 22px auto;
  display: flex;
  justify-content: center;
}

.hero-logo-mid img{
  width: clamp(180px, 26vw, 320px); /* MUCHÍSIMO más grande */
  height: auto;
}


