:root{
  --navy:#003B71;
  --navy-2:#005A9C;
  --navy-3:#0072BC;
  --gold:#D39A13;
  --gold-2:#E8C06A;
  --black:#000000;
  --soft:#f5f8fc;
  --white:#ffffff;
  --text:#132235;
  --muted:#64748b;
  --line:#d9e1ea;
  --shadow:0 22px 60px rgba(12,26,45,.10);
  --shadow-lg:0 28px 80px rgba(12,26,45,.16);
  --container:1280px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',sans-serif;color:var(--text);background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%)}
a{text-decoration:none;color:inherit} img{max-width:100%;display:block}
.container{width:min(var(--container),calc(100% - 48px));margin:0 auto}
.topbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(8,40,77,.08);box-shadow:0 10px 30px rgba(8,40,77,.04)}
.nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:14px}
.brand-mark{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--navy-2));color:var(--gold-2);font-family:'Manrope',sans-serif;font-weight:800;letter-spacing:.04em;box-shadow:0 16px 28px rgba(8,40,77,.18)}
.brand-copy{display:flex;flex-direction:column}.brand-copy strong{font-family:'Manrope',sans-serif;color:var(--navy);font-size:19px}.brand-copy span{font-size:11px;text-transform:uppercase;letter-spacing:.18em;color:#77869a;font-weight:800}
.nav-links{display:flex;gap:26px;text-transform:uppercase;font-size:12px;letter-spacing:.08em;font-weight:800;color:#445468}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 20px;border-radius:999px;font-size:14px;font-weight:800;transition:.22s ease;border:0;cursor:pointer}
.nav-cta,.btn-gold{color:var(--navy);background:linear-gradient(135deg,var(--gold),var(--gold-2));box-shadow:0 14px 24px rgba(211,170,86,.24)}
.btn-white{background:#fff;color:var(--navy)}.btn-outline{border:1px solid var(--line);background:#fff;color:var(--navy)}.btn:hover{transform:translateY(-2px)}
.catalog-hero{position:relative;overflow:hidden;padding:72px 0 84px;color:#fff;background:radial-gradient(circle at 15% 20%,rgba(255,255,255,.14),transparent 25%),linear-gradient(125deg,#052342 0%,#093662 52%,#0a4c84 100%)}
.catalog-hero::after{content:'';position:absolute;width:850px;height:850px;border:1.5px solid rgba(228,196,122,.40);border-radius:50%;right:-260px;top:-300px}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:36px}
.eyebrow,.section-kicker{display:inline-flex;align-items:center;padding:8px 13px;border-radius:999px;background:linear-gradient(135deg,#fff6e2,#f5ead4);border:1px solid rgba(211,170,86,.32);color:var(--navy);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.catalog-hero .eyebrow{background:linear-gradient(135deg,var(--gold),var(--gold-2))}
.catalog-hero h1{margin:18px 0 0;font-family:'Manrope',sans-serif;font-size:clamp(42px,5vw,72px);line-height:.95;letter-spacing:-.055em;max-width:760px}
.catalog-hero p{max-width:650px;margin:18px 0 0;color:rgba(255,255,255,.82);line-height:1.8}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-card{min-height:360px;border-radius:36px;padding:22px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(14px);box-shadow:var(--shadow-lg)}
.hero-card-inner{height:100%;min-height:316px;border-radius:28px;padding:34px;display:flex;flex-direction:column;justify-content:end;background:linear-gradient(180deg,rgba(8,40,77,.06),rgba(8,40,77,.78)),url('../images/productos/producto-placeholder.svg');background-size:cover;background-position:center}
.hero-card-inner span{font-size:12px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:var(--gold-2)}.hero-card-inner strong{font-family:'Manrope',sans-serif;font-size:38px;line-height:1;margin-top:10px}.hero-card-inner p{margin:10px 0 0;color:rgba(255,255,255,.78)}
.catalog-main{margin-top:-28px;padding:48px 0 70px;position:relative;z-index:2;background:linear-gradient(180deg,#fff 0%,#f7f9fc 100%);border-top-left-radius:34px;border-top-right-radius:34px}
.section-head{display:flex;justify-content:space-between;gap:22px;margin-bottom:24px}.section-head h2{margin:14px 0 0;font-family:'Manrope',sans-serif;color:var(--navy);font-size:clamp(32px,4vw,48px);line-height:1;letter-spacing:-.04em}.section-head p{margin:12px 0 0;color:var(--muted);line-height:1.75}
.filters-panel{padding:18px;border-radius:30px;background:rgba(255,255,255,.92);border:1px solid rgba(8,40,77,.08);box-shadow:var(--shadow);display:grid;grid-template-columns:.9fr 1.1fr;gap:16px;align-items:center}
.search-box{height:56px;display:flex;align-items:center;gap:10px;padding:0 18px;border:1px solid var(--line);border-radius:18px;background:#f8fafc}.search-box input{border:0;outline:0;background:transparent;width:100%;font:inherit;color:var(--text)}
.filter-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.chip{border:1px solid var(--line);background:#fff;color:#324255;border-radius:999px;padding:11px 14px;font-weight:800;cursor:pointer;transition:.2s ease}.chip:hover,.chip.active{background:linear-gradient(135deg,var(--navy),var(--navy-2));color:#fff;border-color:transparent}
.catalog-toolbar{margin:22px 0;display:flex;justify-content:space-between;align-items:center;gap:14px;color:var(--muted)}.catalog-toolbar select{border:1px solid var(--line);border-radius:999px;padding:12px 16px;background:#fff;font-weight:700;color:#39485d}
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product-card{position:relative;overflow:hidden;border-radius:30px;background:#fff;border:1px solid rgba(8,40,77,.08);box-shadow:var(--shadow);cursor:pointer;transition:.25s ease}.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.product-thumb{height:250px;background:#eef3f8;overflow:hidden}.product-thumb img{width:100%;height:100%;object-fit:cover;transition:.35s ease}.product-card:hover .product-thumb img{transform:scale(1.04)}
.product-body{padding:20px}.product-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.product-category{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eef5ff;color:var(--navy-2);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.product-sku{font-size:12px;color:#7a889a;font-weight:800}
.product-card h3{margin:14px 0 8px;color:var(--navy);font-family:'Manrope',sans-serif;font-size:23px;line-height:1.05}.product-card p{margin:0;color:var(--muted);line-height:1.7;font-size:14px}
.product-specs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.product-specs span{padding:10px 12px;border-radius:14px;background:#f8fafc;border:1px solid var(--line);font-size:12px;font-weight:800;color:#39485d}.product-action{margin-top:18px;display:flex;justify-content:space-between;align-items:center;color:var(--navy);font-weight:800}.product-action small{color:var(--gold);font-size:18px}
.contact-band{padding:70px 0;background:linear-gradient(135deg,var(--navy),#0b3362);color:#fff}.contact-grid{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}.section-kicker.light{background:rgba(255,255,255,.10);color:var(--gold-2);border-color:rgba(255,255,255,.14)}.contact-band h2{margin:14px 0 0;font-family:'Manrope',sans-serif;font-size:42px;line-height:1}.contact-band p{max-width:760px;color:rgba(255,255,255,.76);line-height:1.8}
.footer{padding:36px 0}.footer-panel{border-radius:24px;border:1px solid var(--line);background:#fff;padding:22px 24px;display:flex;justify-content:space-between;gap:16px;color:var(--muted)}.footer-panel strong{color:var(--navy)}
.modal-backdrop{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(5,18,33,.68);backdrop-filter:blur(10px)}.modal-backdrop.show{display:flex}
.product-modal{width:min(1100px,100%);max-height:92vh;overflow:auto;display:grid;grid-template-columns:.92fr 1.08fr;background:#fff;border-radius:34px;box-shadow:0 40px 100px rgba(0,0,0,.28);position:relative}
.modal-close{position:absolute;right:16px;top:16px;z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:var(--navy);font-size:28px;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.16)}
.modal-media{min-height:560px;background:#eef3f8}.modal-media img{width:100%;height:100%;object-fit:cover}.modal-content{padding:42px}.modal-category{display:inline-flex;padding:8px 12px;border-radius:999px;background:linear-gradient(135deg,#fff6e2,#f5ead4);color:var(--navy);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.modal-content h3{margin:18px 0 12px;font-family:'Manrope',sans-serif;color:var(--navy);font-size:42px;line-height:.98;letter-spacing:-.04em}.modal-content p{color:var(--muted);line-height:1.85}
.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.spec-grid div{padding:15px;border-radius:18px;background:#f8fafc;border:1px solid var(--line)}.spec-grid span{display:block;color:#7a889a;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.spec-grid strong{display:block;margin-top:6px;color:var(--navy)}
.commercial-box{padding:20px;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid var(--line)}.commercial-box h4{margin:0 0 12px;color:var(--navy)}.commercial-box ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.8}.modal-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.empty-state{grid-column:1/-1;padding:44px;border-radius:28px;background:#fff;border:1px solid var(--line);text-align:center;color:var(--muted)}
.empty-state h3{margin:0 0 8px;color:var(--navy);font-family:'Manrope',sans-serif}

/* =========================================================
   AJUSTES LEVI: HEADER, LOGO, BOTÓN Y FOOTER
   ========================================================= */

.topbar{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(0,59,113,.08);
  box-shadow:0 10px 30px rgba(0,59,113,.05);
}

.nav{
  min-height:112px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}

.brand{
  display:flex;
  align-items:center;
  gap:18px;
}

.brand img{
  width:92px;
  height:92px;
  object-fit:contain;
  background:#fff;
}

.brand-mark{
  width:92px;
  height:92px;
  border-radius:0;
  display:grid;
  place-items:center;
  background:#fff;
  color:var(--navy);
  box-shadow:none;
  overflow:hidden;
}

.brand-mark img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.brand-copy strong{
  font-family:'Manrope',sans-serif;
  color:var(--navy);
  font-size:26px;
  line-height:1;
  letter-spacing:-.03em;
}

.brand-copy span{
  margin-top:8px;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.24em;
  color:#7a889a;
  font-weight:800;
}

.nav-links{
  display:flex;
  align-items:center;
  gap:34px;
  text-transform:uppercase;
  font-size:15px;
  letter-spacing:.09em;
  font-weight:800;
  color:#445468;
}

.nav-links a{
  position:relative;
  padding:8px 0;
}

.nav-links a::after{
  content:'';
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:2px;
  background:linear-gradient(90deg,var(--gold),var(--gold-2));
  transition:.25s ease;
}

.nav-links a:hover::after{
  width:100%;
}

.nav-cta{
  min-width:172px;
  height:82px;
  padding:0 26px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--gold-2),#f2cf78);
  color:var(--navy);
  box-shadow:0 18px 34px rgba(211,154,19,.24);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  font-size:16px;
  font-weight:800;
  line-height:1.05;
}

.nav-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 40px rgba(211,154,19,.30);
}

.chat-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:4px solid var(--navy);
  border-radius:13px;
  font-size:0;
  position:relative;
}

.chat-icon::after{
  content:'';
  position:absolute;
  left:6px;
  bottom:-10px;
  width:14px;
  height:14px;
  border-left:4px solid var(--navy);
  border-bottom:4px solid var(--navy);
  background:transparent;
  transform:skew(-18deg);
}

.nav-cta,.btn-gold{
  color:var(--navy);
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  box-shadow:0 14px 24px rgba(211,154,19,.24);
}

.catalog-hero{
  background:
    radial-gradient(circle at 15% 20%,rgba(255,255,255,.14),transparent 25%),
    linear-gradient(125deg,#003B71 0%,#004E8F 52%,#005A9C 100%);
}

.chip:hover,.chip.active{
  background:linear-gradient(135deg,var(--navy),var(--navy-2));
  color:#fff;
  border-color:transparent;
}

.product-card h3,
.section-head h2,
.modal-content h3,
.commercial-box h4,
.empty-state h3,
.footer-panel strong{
  color:var(--navy);
}

.footer{
  padding:46px 0 60px;
  background:linear-gradient(180deg,#f7f9fc 0%,#eef3f8 100%);
}

.footer-panel{
  border-radius:38px;
  border:1px solid rgba(0,59,113,.18);
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  padding:42px 36px 30px;
  display:grid;
  grid-template-columns:1fr;
  gap:26px;
  color:#7a889a;
  box-shadow:0 26px 70px rgba(12,26,45,.10);
}

.footer-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}

.footer-brand{
  display:flex;
  align-items:center;
  gap:18px;
}

.footer-brand img{
  width:82px;
  height:82px;
  object-fit:contain;
}

.footer-brand h3,
.footer-brand strong{
  display:block;
  margin:0;
  font-family:'Manrope',sans-serif;
  font-size:30px;
  line-height:1;
  color:var(--navy);
}

.footer-brand p,
.footer-brand span{
  display:block;
  margin:8px 0 0;
  color:#66748a;
  font-size:18px;
}

.footer-cta{
  min-width:220px;
  height:58px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 24px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  color:var(--navy);
  font-weight:800;
  box-shadow:0 16px 28px rgba(211,154,19,.20);
}

.footer-contact-grid{
  display:grid;
  grid-template-columns:1.45fr .8fr 1.1fr auto;
  gap:18px;
}

.footer-chip{
  min-width:0;
  min-height:78px;
  display:flex;
  align-items:center;
  gap:16px;
  padding:16px 20px;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 14px 30px rgba(8,40,77,.06);
  color:#1f2d44;
  font-size:20px;
}

.footer-chip span:last-child{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.footer-icon{
  width:42px;
  height:42px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,#fff6e2,#f5ead4);
  border:1px solid rgba(211,154,19,.28);
  color:var(--navy);
  font-size:20px;
}

.social-icons{
  display:flex;
  align-items:center;
  gap:12px;
}

.social-icons a{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,#fff6e2,#f5ead4);
  border:1px solid rgba(211,154,19,.35);
  color:var(--navy);
  font-size:22px;
  font-weight:900;
  box-shadow:0 12px 24px rgba(8,40,77,.08);
  transition:.22s ease;
}

.social-icons a:hover{
  transform:translateY(-4px) scale(1.05);
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  box-shadow:0 18px 30px rgba(211,154,19,.22);
}

.footer-copy{
  color:#7a889a;
  font-size:15px;
}

.footer-panel > strong{
  font-family:'Manrope',sans-serif;
  font-size:28px;
  color:var(--navy);
}

.footer-panel > span{
  color:#7a889a;
}

@media(max-width:1050px){
  .nav{
    min-height:auto;
    padding:16px 0;
    flex-wrap:wrap;
    justify-content:center;
  }

  .brand{
    width:100%;
    justify-content:center;
  }

  .nav-links{
    width:100%;
    justify-content:center;
    flex-wrap:wrap;
    gap:18px;
  }

  .nav-cta{
    min-width:210px;
  }

  .footer-contact-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:720px){
  .brand img,
  .brand-mark{
    width:76px;
    height:76px;
  }

  .brand-copy strong{
    font-size:22px;
  }

  .brand-copy span{
    font-size:11px;
    letter-spacing:.18em;
  }

  .nav-links{
    font-size:12px;
    gap:14px;
  }

  .nav-cta{
    width:100%;
    height:70px;
  }

  .footer-panel{
    padding:28px 18px;
    border-radius:30px;
  }

  .footer-main{
    align-items:flex-start;
  }

  .footer-brand h3,
  .footer-brand strong{
    font-size:24px;
  }

  .footer-brand p,
  .footer-brand span{
    font-size:15px;
  }

  .footer-contact-grid{
    grid-template-columns:1fr;
  }

  .footer-chip{
    font-size:16px;
  }

  .social-icons{
    width:100%;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
}

@media(max-width:1050px){.hero-grid,.filters-panel,.products-grid,.contact-grid,.product-modal{grid-template-columns:1fr}.filter-chips{justify-content:flex-start}.modal-media{min-height:360px}}
@media(max-width:720px){.container{width:min(100%,calc(100% - 24px))}.nav{justify-content:center;flex-wrap:wrap;padding:12px 0}.nav-links{order:3;width:100%;justify-content:center;flex-wrap:wrap;gap:14px}.nav-cta{width:100%}.catalog-hero{padding:50px 0 70px}.hero-card{min-height:260px}.product-specs,.spec-grid{grid-template-columns:1fr}.catalog-toolbar{display:block}.catalog-toolbar select{width:100%;margin-top:10px}.modal-content{padding:26px}.modal-content h3{font-size:34px}.footer-panel{display:block}}

.footer-social-only{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;
  margin:28px 0 22px;
}

.footer-social-only a{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,#fff6e2,#f5ead4);
  border:1px solid rgba(201,151,0,.35);
  color:#0077C8;
  font-size:24px;
  box-shadow:0 14px 28px rgba(0,59,113,.10);
  transition:.22s ease;
}

.footer-social-only a:hover{
  transform:translateY(-4px) scale(1.05);
  background:linear-gradient(135deg,#C99700,#D9B45A);
  color:#003B71;
}

.footer-map-btn{
  border:0;
  background:transparent;
  color:#0077C8;
  font-weight:800;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:16px;
}

.map-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.55);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
  padding:22px;
}

.map-modal.show{
  display:flex;
}

.map-modal-content{
  width:min(900px,100%);
  background:#fff;
  border-radius:28px;
  padding:24px;
  position:relative;
  box-shadow:0 30px 80px rgba(0,0,0,.25);
}

.map-modal-content h3{
  margin:0 0 18px;
  color:#003B71;
  font-size:24px;
}

.map-close{
  position:absolute;
  right:18px;
  top:18px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#f5f8fc;
  color:#003B71;
  font-size:26px;
  cursor:pointer;
}