/* ═══════════════════════════════════════════════════════════════
   ChambaCerca — CSS compartido
   Incluido en todas las páginas informativas.
   index.php mantiene su propio bloque <style> por la complejidad
   de la home, pero comparte estas variables y utilidades vía caché.
═══════════════════════════════════════════════════════════════ */

/* ── Variables ── */
:root {
    --primary:    #0a1b39;
    --accent:     #c07f21;
    --accent-dark:#a16415;
    --text-main:  #1e293b;
    --text-muted: #64748b;
    --bg-light:   #f8fafc;
    --radius-xl:  30px;
    --font-main:  'Outfit', sans-serif;
    --ease:       cubic-bezier(0.165, 0.84, 0.44, 1);
    --sh-sm:      0 4px 15px rgba(0,0,0,.06);
    --sh-md:      0 15px 40px rgba(0,0,0,.10);
}

html { scroll-behavior: smooth; overflow-x: hidden; }
body { font-family: var(--font-main); color: var(--text-main); background: #fff; overflow-x: hidden; }

/* ── Scroll reveal ── */
.reveal       { opacity:0; transform:translateY(36px);  transition:opacity .7s var(--ease),transform .7s var(--ease); }
.reveal-left  { opacity:0; transform:translateX(-36px); transition:opacity .7s var(--ease),transform .7s var(--ease); }
.reveal-right { opacity:0; transform:translateX(36px);  transition:opacity .7s var(--ease),transform .7s var(--ease); }
.reveal.visible, .reveal-left.visible, .reveal-right.visible { opacity:1; transform:none; }
.rd1{transition-delay:.10s} .rd2{transition-delay:.20s} .rd3{transition-delay:.30s} .rd4{transition-delay:.40s}
@media (prefers-reduced-motion:reduce) {
    .reveal,.reveal-left,.reveal-right { opacity:1; transform:none; transition:none; }
    * { animation-duration:.01ms!important; animation-iteration-count:1!important; }
}

/* ── Navbar ── */
.navbar { background:rgba(255,255,255,.88); backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px); border-bottom:1px solid rgba(0,0,0,.05); padding:15px 0; transition:padding .3s var(--ease),box-shadow .3s; }
.navbar.scrolled { padding:10px 0; box-shadow:0 4px 24px rgba(0,0,0,.08); }
.nav-link { font-weight:600; color:var(--text-main)!important; margin:0 8px; position:relative; }
.nav-link::after { content:''; position:absolute; bottom:-4px; left:50%; width:0; height:2px; background:var(--accent); transition:.3s; transform:translateX(-50%); border-radius:2px; }
.nav-link:hover::after, .nav-link.active::after { width:75%; }
.nav-link-map-highlight { background:linear-gradient(135deg,var(--accent) 0%,#c07f21 50%,#a16415 100%); color:#fff!important; border-radius:50px; padding:8px 20px!important; font-weight:800; box-shadow:0 4px 15px rgba(192,127,33,.35); transition:all .3s var(--ease); display:inline-flex; align-items:center; gap:6px; border:1px solid rgba(255,255,255,.25); animation:pulse-map 2.5s infinite; }
.nav-link-map-highlight::after { display:none!important; }
.nav-link-map-highlight:hover { transform:translateY(-2px) scale(1.03); box-shadow:0 8px 25px rgba(192,127,33,.5); color:#fff!important; }
@keyframes pulse-map { 0%{box-shadow:0 0 0 0 rgba(192,127,33,.6)} 70%{box-shadow:0 0 0 10px rgba(192,127,33,0)} 100%{box-shadow:0 0 0 0 rgba(192,127,33,0)} }
.btn-map-mobile { background:linear-gradient(135deg,var(--accent) 0%,#c07f21 50%,#a16415 100%)!important; color:#fff!important; border:1px solid rgba(255,255,255,.25)!important; font-size:.8rem; font-weight:800!important; box-shadow:0 4px 12px rgba(192,127,33,.4)!important; animation:pulse-map 2.5s infinite; }
.btn-premium { background:var(--primary); color:#fff!important; border-radius:50px; padding:10px 25px; font-weight:700; transition:all .3s var(--ease); }
.btn-premium:hover { background:var(--accent); color:#fff!important; transform:translateY(-3px); box-shadow:0 10px 25px rgba(192,127,33,.35); }
.btn-premium.dropdown-toggle::after, .btn-premium.show, .btn-premium:active, .btn-premium:focus-visible { background:var(--primary)!important; outline:none!important; }
.logo-text { font-weight:900; color:var(--primary); letter-spacing:-1px; line-height:1; }
.logo-text span { color:var(--accent); }
@media (max-width:991px) { .nav-link-map-highlight{margin:10px 0;width:100%;justify-content:center;} .mobile-logo-img{max-height:32px!important;height:auto!important;} }

/* ── Utilidades ── */
.fw-900 { font-weight:900!important; }
.text-navy { color:#0a1b39!important; }
.text-gold { color:#c07f21!important; }
.bg-navy { background-color:#0a1b39!important; }
.btn-outline-navy { color:#0a1b39; border:2px solid #0a1b39; background:transparent; }
.btn-outline-navy:hover { background:#0a1b39; color:#fff; }
.btn-ripple { position:relative; overflow:hidden; }
.ripple-fx { position:absolute; border-radius:50%; background:rgba(255,255,255,.28); transform:scale(0); animation:rippleOut .6s linear; pointer-events:none; }
@keyframes rippleOut { to{transform:scale(4);opacity:0;} }
.animate-fade-in { animation:fadeIn .4s var(--ease) forwards; }
@keyframes fadeIn { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:none} }

/* ── Footer ── */
.footer { background:#f8fafc; padding:80px 0 30px; border-top:1px solid #e2e8f0; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:60px; }
.footer-brand .logo-text { font-size:1.8rem; margin-bottom:20px; display:block; }
.footer-brand p { color:var(--text-muted); line-height:1.6; margin-bottom:25px; max-width:300px; }
.footer-social { display:flex; gap:15px; }
.footer-social .social-btn { width:45px; height:45px; border-radius:12px; background:#fff; border:1px solid #e2e8f0; display:flex; align-items:center; justify-content:center; color:var(--primary); transition:all .3s var(--ease); text-decoration:none; }
.footer-social .social-btn:hover { background:var(--accent); color:#fff; border-color:var(--accent); transform:translateY(-5px); }
.footer-col h4 { font-weight:700; margin-bottom:22px; color:var(--primary); }
.footer-col ul { list-style:none; padding:0; }
.footer-col ul li { margin-bottom:12px; }
.footer-col ul li a { color:var(--text-muted); text-decoration:none; transition:.25s; font-size:.93rem; }
.footer-col ul li a:hover { color:var(--accent); padding-left:5px; }
.footer-bottom { border-top:1px solid #e2e8f0; padding-top:28px; display:flex; justify-content:space-between; align-items:center; }
.footer-bottom p, .footer-bottom a { color:var(--text-muted); font-size:.88rem; }
.footer-bottom a { text-decoration:none; margin-left:18px; transition:.25s; }
.footer-bottom a:hover { color:var(--primary); }
@media (max-width:768px) { .footer-grid{grid-template-columns:1fr 1fr;} .footer-brand{grid-column:span 2;} }
@media (max-width:576px) { .footer-grid{grid-template-columns:1fr;} .footer-brand{grid-column:1;} .footer-bottom{flex-direction:column;text-align:center;gap:12px;} }

