*, *::before, *::after { 
  box-sizing: border-box; 
  margin: 0; 
  padding: 0; 
}

html { scroll-behavior: smooth; overflow-x: hidden; }

body { 
  font-family: 'Plus Jakarta Sans', sans-serif; 
}

:root {
  --teal-dark: #0b3a62;
  --teal: #34aed6;
  --teal-light: #eaf4f8;
  --gold: #f9b233;
  --gold-dark: #d4950f;
  --hero-bg: #f0f4f8;

  /* Variables de Antigravity */
  --white: #ffffff;
  --bg-light: #f0f6fa;
  --dark-blue: #0b3a62;
  --light-blue: #34aed6;
  --text-muted: #6b7280;
  --transition-smooth: all 0.3s ease;
}

/* ── NAVBAR ── */
.navbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  background: #0b3a62;
  box-shadow: 0 2px 20px rgba(0,0,0,0.2);
  padding: 5px 10px 5px 120px;
  display: flex; align-items: center; justify-content: space-between;
  transition: background 0.4s ease, box-shadow 0.4s ease, padding 0.3s ease, transform 0.3s ease;
  overflow: visible;
}

.navbar.scrolled {
  background: #0b3a62;
  box-shadow: 0 2px 20px rgba(0,0,0,0.3);
  padding: 6px 30px 6px 120px;
}

.navbar.scrolled .nav-logo img {
  height: 50px;
  transition: height 0.3s ease;
}

.navbar.scrolled .nav-links li a {
  font-size: 13px;
  transition: font-size 0.3s ease;
}

.navbar.hidden {
  transform: translateY(-100%);
}

.nav-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }

.nav-logo img { 
  height: 78px;
  width: auto; 
}
.nav-hamburger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:4px; }
.nav-hamburger span { display:block; width:24px; height:2px; background:#ffffff; border-radius:2px; }

ul.nav-links {
  display: flex !important;
  flex-direction: row !important;
  list-style-type: none !important;
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  padding-inline-start: 0 !important;
  gap: 8px !important;
  margin-right: 100px !important;
  margin-left: auto !important;
}

ul.nav-links li {
  list-style: none !important;
  display: inline-flex !important;
}

ul.nav-links li a {
  color: #ffffff !important;
  font-size: 16px; /* ← sin !important */
  font-weight: 700 !important;
  text-decoration: none !important;
  padding: 7px 14px !important;
  display: block !important;
  position: relative;
}

ul.nav-links li a::after { 
  content:''; position:absolute; bottom:2px; left:14px; right:14px; 
  height:2px; background:var(--gold); border-radius:2px; 
  transform:scaleX(0); transition:transform 0.3s; 
}

ul.nav-links li a:hover::after, 
ul.nav-links li a.active::after { transform:scaleX(1); }

ul.nav-links li a.active { color: var(--gold) !important; }
ul.nav-links li a:hover { background: rgba(255,255,255,0.08); }

/* ── DROPDOWN: SERVICIOS EDITORIALES > VITRINA DE LIBROS ── */
.nav-dropdown {
  position: relative;
}
.nav-dropdown-toggle {
  display: flex !important;
  align-items: center;
  gap: 5px;
}
.nav-dropdown-arrow {
  flex-shrink: 0;
  transition: transform 0.25s ease;
}
.nav-dropdown:hover .nav-dropdown-arrow {
  transform: rotate(180deg);
}
.nav-dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 190px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 14px 34px rgba(0,0,0,0.25);
  padding: 8px;
  z-index: 1001;
  list-style: none;
}
ul.nav-links .nav-dropdown-menu li {
  display: block !important;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown-menu.open {
  display: block;
}
ul.nav-links .nav-dropdown-menu li a {
  display: block !important;
  padding: 10px 14px !important;
  border-radius: 8px;
  font-size: 14px !important;
  font-weight: 600 !important;
  white-space: nowrap;
  color: #0B3A62 !important;
}
ul.nav-links .nav-dropdown-menu li a::after {
  content: none !important;
}
ul.nav-links .nav-dropdown-menu li a:hover {
  background: #F0FCFF;
}

/* ── BOTONES GLOBALES ── */
.btn-primary {
  background: var(--teal); color: #fff; border: none;
  border-radius: 30px; padding: 14px 28px;
  font-size: 14px; font-weight: 800; font-family:'Nunito',sans-serif;
  cursor: pointer; transition: all 0.2s;
}
.btn-primary:hover { background: var(--teal-dark); transform:translateY(-2px); }

.btn-secondary {
  background: transparent; color: var(--teal);
  border: 2px solid var(--teal);
  border-radius: 30px; padding: 14px 28px;
  font-size: 14px; font-weight: 800; font-family:'Nunito',sans-serif;
  cursor: pointer; transition: all 0.2s;
}
.btn-secondary:hover { background: var(--teal); color:#fff; }

/* ── ETIQUETAS DE SECCIÓN (globales) ── */
.section-label { font-size:12px; font-weight:700; letter-spacing:3px; color:var(--gold); text-transform:uppercase; display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:12px; }
.section-label::before, .section-label::after { content:''; width:36px; height:1.5px; background:var(--gold); }
.section-title { font-size:34px; font-weight:800; color:var(--teal); text-align:center; margin-bottom:10px; }
.section-sub { text-align:center; color:#4a7a8a; font-size:15px; margin-bottom:50px; line-height:1.6; }
.section-title-light { font-size:34px; font-weight:800; color:#fff; text-align:center; margin-bottom:10px; }
.section-sub-light { text-align:center; color:rgba(255,255,255,0.55); font-size:15px; margin-bottom:50px; }

/* ── FOOTER ── */
.footer { background:var(--teal-dark); font-family:'Nunito',sans-serif; color:#fff; }
.footer-topline { height:4px; background:linear-gradient(90deg,var(--teal),var(--gold),var(--teal)); background-size:200% auto; animation:shimmer 4s linear infinite; }
@keyframes shimmer{0%{background-position:0% center}100%{background-position:200% center}}
.footer-main { max-width:1100px; margin:0 auto; padding:60px 30px 40px; display:grid; grid-template-columns:1.6fr 1fr 1.2fr; gap:40px; }
@media(max-width:680px){.footer-main{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
.footer-desc { font-size:13px; color:rgba(255,255,255,0.55); line-height:1.7; margin-bottom:20px; max-width:230px; }
.social-row { display:flex; gap:10px; }
.social-btn { width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; text-decoration:none; transition:all 0.2s; }
.social-btn:hover { background:var(--gold); transform:translateY(-3px); }
.social-btn svg { width:16px; height:16px; fill:rgba(255,255,255,0.8); }
.footer-col-title { font-size:12px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin:0 0 18px; display:flex; align-items:center; gap:8px; }
.footer-col-title::after { content:''; flex:1; height:1.5px; background:rgba(230,168,23,0.2); }
.footer-links { list-style:none; display:flex; flex-direction:column; gap:10px; }
.footer-links li a { font-size:13px; color:rgba(255,255,255,0.5); text-decoration:none; display:flex; align-items:center; gap:8px; transition:all 0.2s; }
.footer-links li a::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--gold); opacity:0.5; flex-shrink:0; transition:opacity 0.2s; }
.footer-links li a:hover { color:#fff; gap:12px; }
.footer-links li a:hover::before { opacity:1; }
.contact-item { display:flex; align-items:flex-start; gap:10px; margin-bottom:14px; }
.contact-item svg { width:16px; height:16px; stroke:var(--gold); stroke-width:2; fill:none; flex-shrink:0; margin-top:2px; }
.contact-item span { font-size:13px; color:rgba(255,255,255,0.5); line-height:1.5; }
.contact-item a.contact-whatsapp-link { font-size:13px; color:rgba(255,255,255,0.5); line-height:1.5; text-decoration:none; transition: color 0.2s ease; }
.contact-item a.contact-whatsapp-link:hover { color:#fff; }
.footer-divider { max-width:1100px; margin:0 auto; height:1px; background:rgba(255,255,255,0.07); }
.footer-bottom { max-width:1100px; margin:0 auto; padding:20px 30px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.footer-copy { font-size:12px; color:rgba(255,255,255,0.28); }
.footer-copy span { color:var(--gold); }
.footer-badge { font-size:11px; color:rgba(255,255,255,0.22); background:rgba(255,255,255,0.05); padding:5px 14px; border-radius:20px; }

/* ── WHATSAPP ── */
.whatsapp-float { position:fixed; bottom:28px; right:28px; display:flex; align-items:center; z-index:999; text-decoration:none; }
.wa-tooltip { background:#fff; color:#0B3A62; font-size:12px; font-weight:800; font-family:'Nunito',sans-serif; padding:8px 16px; border-radius:20px 0 0 20px; box-shadow:0 4px 20px rgba(0,0,0,0.1); white-space:nowrap; opacity:0; transform:translateX(10px); transition:opacity 0.3s,transform 0.3s; pointer-events:none; }
.whatsapp-float:hover .wa-tooltip { opacity:1; transform:translateX(0); }
.wa-btn { width:56px; height:56px; background:rgba(255,255,255,0.85); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 6px 20px rgba(11,58,98,0.2); animation:waPulse 2.5s ease-in-out infinite; flex-shrink:0; }
.wa-btn img { width:38px; height:38px; }
.wa-btn svg { width:38px; height:38px; fill:#0B3A62; }
.whatsapp-float:hover .wa-btn { animation:none; transform:scale(1.1); }
@keyframes waPulse{0%,100%{box-shadow:0 6px 20px rgba(11,58,98,0.2)}50%{box-shadow:0 6px 24px rgba(52,174,214,0.3),0 0 0 6px rgba(52,174,214,0.08)}}

/* ── NAVBAR RESPONSIVE ── */
@media(max-width:900px) {
  .navbar {
    padding: 8px 20px !important;
  }

  ul.nav-links {
    display: none !important;
    flex-direction: column !important;
    position: fixed !important;
    top: 0 !important;
    right: -100% !important;
    width: 75% !important;
    max-width: 300px !important;
    height: 100vh !important;
    background: #0b3a62 !important;
    padding: 80px 30px 30px !important;
    gap: 8px !important;
    z-index: 999 !important;
    transition: right 0.3s ease !important;
    box-shadow: -8px 0 24px rgba(0,0,0,0.3) !important;
    margin: 0 !important;
    overflow-y: auto !important;
  }

  ul.nav-links.open {
    display: flex !important;
    right: 0 !important;
  }

  ul.nav-links li a {
    font-size: 18px !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    display: block !important;
  }

  .nav-hamburger {
    display: flex !important;
  }

  .nav-hamburger span {
    transition: all 0.3s ease;
  }

  .nav-hamburger.open span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
  }
  .nav-hamburger.open span:nth-child(2) {
    opacity: 0;
  }
  .nav-hamburger.open span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
  }

  ul.nav-links li.nav-dropdown {
    display: block !important;
  }
  .nav-dropdown-menu {
    position: static;
    display: none;
    background: transparent;
    box-shadow: none;
    padding: 0 0 0 16px;
    margin: 6px 0 0;
    min-width: 0;
  }
  .nav-dropdown-menu.open {
    display: block;
  }
  ul.nav-links .nav-dropdown-menu li a {
    color: rgba(255,255,255,0.75) !important;
    font-size: 15px !important;
    padding: 10px 0 !important;
    border-bottom: none !important;
  }
  ul.nav-links .nav-dropdown-menu li a:hover {
    background: transparent !important;
    color: #fff !important;
  }
  .nav-dropdown:hover .nav-dropdown-menu {
    display: none;
  }
  .nav-dropdown:hover .nav-dropdown-menu.open {
    display: block;
  }
  .nav-dropdown-toggle {
    justify-content: space-between;
    width: 100%;
  }
  .nav-dropdown-arrow {
    transition: transform 0.25s ease;
  }
  .nav-dropdown-toggle.open .nav-dropdown-arrow,
  .nav-dropdown-arrow.open {
    transform: rotate(180deg);
  }
}