/* ══════════════════════════════════════
   shared.css — Estilos comunes a todas las páginas
   ══════════════════════════════════════ */

/* ── Global font ── */
body { font-family: 'Manrope', sans-serif !important; }
/* Fix Cal.com modal */
body:has(cal-modal-box) { overflow: hidden !important; }
cal-modal-box { scrollbar-width: none !important; -ms-overflow-style: none !important; }
cal-modal-box::-webkit-scrollbar { display: none !important; }
cal-modal-box iframe.cal-embed { scrollbar-width: none !important; -ms-overflow-style: none !important; }
cal-modal-box iframe.cal-embed::-webkit-scrollbar { display: none !important; }
@media(max-width:768px){
    cal-modal-box { width: 100vw !important; max-width: 100vw !important; border-radius: 0 !important; }
    cal-modal-box iframe.cal-embed { width: 100vw !important; max-width: 100vw !important; border-radius: 0 !important; }
}
/* ── Nav ── */
.header-scrolled { background: rgba(255, 255, 255, 0.98) !important; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important; }
.nav-link { position: relative; padding-bottom: 4px; }
.nav-link::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: linear-gradient(90deg, #1E3A8A, #3B82F6); transition: width 0.3s ease; }
.nav-link:hover::after, .nav-link.active::after { width: 100%; }
.dropdown { position: relative; }
.dropdown-trigger { display: flex; align-items: center; gap: 4px; cursor: pointer; }
.dropdown-trigger svg { transition: transform 0.3s ease; }
.dropdown:hover .dropdown-trigger svg { transform: rotate(180deg); }
.dropdown-menu { position: absolute; top: 100%; left: 50%; transform: translateX(-50%) translateY(10px); min-width: 320px; background: white; border-radius: 16px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15); opacity: 0; visibility: hidden; transition: all 0.3s ease; padding: 1rem; z-index: 100; border: 1px solid rgba(0, 0, 0, 0.05); }
.dropdown:hover .dropdown-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
.dropdown-item { display: flex; align-items: flex-start; gap: 12px; padding: 12px; border-radius: 12px; transition: all 0.2s ease; text-decoration: none; }
.dropdown-item:hover { background: linear-gradient(135deg, #f8fafc, #f1f5f9); transform: translateX(4px); }
.dropdown-item-icon { width: 40px; height: 40px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.dropdown-item-content h4 { font-weight: 600; color: #0f172a; font-size: 0.95rem; margin-bottom: 2px; }
.dropdown-item-content p { font-size: 0.8rem; color: #64748b; line-height: 1.4; }
/* === MOBILE MENU — SLIDE-IN PANEL === */
.mm-overlay{position:fixed;inset:0;z-index:998;background:rgba(15,23,42,.45);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .3s ease}
.mm-overlay.active{opacity:1;pointer-events:auto}
.mm-panel{position:fixed;top:0;right:0;bottom:0;z-index:999;width:85vw;max-width:380px;background:#fff;box-shadow:-20px 0 60px rgba(15,23,42,.18);border-radius:24px 0 0 24px;transform:translateX(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}
.mm-overlay.active+.mm-panel,.mm-panel.active{transform:translateX(0)}
.mm-head{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid #f1f5f9}
.mm-close{width:40px;height:40px;border-radius:12px;border:none;background:#f1f5f9;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}
.mm-close:hover{background:#e2e8f0}
.mm-close svg{width:20px;height:20px;color:#475569}
.mm-body{flex:1;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:0.25rem}
.mm-link{display:flex;align-items:center;gap:12px;padding:.875rem 1rem;border-radius:14px;font-family:'Manrope',sans-serif;font-size:1rem;font-weight:500;color:#334155;text-decoration:none;transition:all .2s}
.mm-link:hover,.mm-link.active{background:#f0f4ff;color:#1E3A8A}
.mm-link.active{font-weight:600}
.mm-link svg{width:20px;height:20px;flex-shrink:0;opacity:.5}
.mm-label{padding:1rem 1rem .5rem;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#94a3b8}
.mm-services{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;padding:0 .5rem}
.mm-svc{display:flex;flex-direction:column;align-items:center;gap:8px;padding:1rem .75rem;border-radius:16px;border:1px solid #f1f5f9;text-decoration:none;transition:all .25s;text-align:center}
.mm-svc:hover{transform:translateY(-2px);box-shadow:0 8px 24px -6px rgba(0,0,0,.08)}
.mm-svc-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center}
.mm-svc-icon svg{width:22px;height:22px}
.mm-svc span{font-size:.82rem;font-weight:600;color:#0f172a;line-height:1.2}
.mm-svc--fs .mm-svc-icon{background:#eff6ff;color:#3b82f6}
.mm-svc--ti .mm-svc-icon{background:#f0fdfa;color:#0d9488}
.mm-svc--odoo .mm-svc-icon{background:#faf5ff;color:#7c3aed}
.mm-svc--td .mm-svc-icon{background:#fffbeb;color:#d97706}
.mm-svc--fs{border-color:#dbeafe}.mm-svc--ti{border-color:#ccfbf1}.mm-svc--odoo{border-color:#ede9fe}.mm-svc--td{border-color:#fef3c7}
.mm-footer{padding:1rem 1.5rem 1.5rem;margin-top:auto;border-top:1px solid #f1f5f9}
.mm-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:1rem;border-radius:14px;background:linear-gradient(135deg,#1E3A8A,#0F766E);color:#fff;font-family:'Manrope',sans-serif;font-weight:700;font-size:.95rem;text-decoration:none;border:none;box-shadow:0 8px 24px -4px rgba(30,58,138,.3);transition:all .3s}
.mm-cta:hover{transform:translateY(-2px);box-shadow:0 12px 32px -4px rgba(30,58,138,.4)}
.mm-cta svg{width:18px;height:18px}
.mm-panel .mm-anim{opacity:0;transform:translateY(16px);transition:opacity .35s ease,transform .35s ease}
.mm-panel.active .mm-anim{opacity:1;transform:translateY(0)}
.mm-panel.active .mm-anim:nth-child(1){transition-delay:.05s}
.mm-panel.active .mm-anim:nth-child(2){transition-delay:.1s}
.mm-panel.active .mm-anim:nth-child(3){transition-delay:.15s}
.mm-panel.active .mm-anim:nth-child(4){transition-delay:.2s}
.mm-panel.active .mm-anim:nth-child(5){transition-delay:.25s}
.mm-panel.active .mm-anim:nth-child(6){transition-delay:.3s}
.mm-panel.active .mm-anim:nth-child(7){transition-delay:.35s}
.mm-panel.active .mm-anim:nth-child(8){transition-delay:.4s}
body.mm-open{overflow:hidden}
#mobile-menu-btn svg{transition:opacity .2s ease}
#mobile-menu-btn .icon-hamburger{display:block}
#mobile-menu-btn .icon-close{display:none}
#mobile-menu-btn.hamburger-open .icon-hamburger{display:none}
#mobile-menu-btn.hamburger-open .icon-close{display:block}

/* ── Scroll-reveal ── */
.reveal { opacity: 0; transform: translateY(36px); transition: opacity 0.7s cubic-bezier(0.4,0,0.2,1), transform 0.7s cubic-bezier(0.4,0,0.2,1); }
.reveal.visible { opacity: 1; transform: translateY(0); }
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }
.reveal-delay-5 { transition-delay: 0.5s; }


/* ── Scroll progress bar (color via --progress-gradient on each page) ── */
.scroll-progress{position:fixed;top:80px;left:0;height:3px;background:var(--progress-gradient, linear-gradient(90deg,#1E3A8A,#3B82F6));z-index:49;transition:width .15s;border-radius:0 2px 2px 0}
