/* Limitar ancho de las service-card en pantallas grandes */
@media (min-width: 700px) {
  .service-card {
    max-width: 420px;
    width: 100%;
    margin: 0 auto;
  }
}
/* ===== Migrado desde index.html el 2025-11-21 ===== */
/* Bloque original extraído de <style> en index.html. Mantener sólo si es necesario y eliminar duplicados si ya existen reglas similares. */
:root {
  --background-light: #f5f3fa;
  --background-medium: #fff;
  --primary-color: #7c5e99;
  --accent-color: #6dc7b5;
  --light-text-color: #f5f5f5;
  --dark-text-color: #3d2956;
  --h2-color: #3d2956;
  --p-color: #4e3a5a;
  --whatsapp-green: #25D366;
  --whatsapp-dark: #128C7E;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Roboto', sans-serif;
  line-height: 1.6;
  color: var(--dark-text-color);
  background-color: var(--background-light);
  scroll-behavior: smooth;
  font-size: 16px;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
}

/* Header */
header {
  background-color: #e3f2fd;
  padding: 15px 0;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
  position: sticky;
  top: 0;
  z-index: 1000;
}

.header-content {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 0;
}

.logo img {
  height: 60px;
  width: auto;
  max-width: 100%;
}

/* Hero Section */
#hero {
  background: linear-gradient(135deg, #7c5e99 0%, #6dc7b5 100%);
  color: var(--light-text-color);
  text-align: center;
  padding: 60px 20px;
  min-height: 450px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#hero h1 {
  font-size: clamp(1.8em, 5vw, 2.8em);
  margin-bottom: 20px;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
  line-height: 1.2;
}

#hero p {
  font-size: clamp(1em, 3vw, 1.2em);
  margin-bottom: 30px;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.6;
}

/* WhatsApp Button */
.whatsapp-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background-color: var(--whatsapp-green);
  color: #fff !important;
  padding: 14px 30px;
  border-radius: 8px;
  text-decoration: none;
  font-size: clamp(1em, 2.5vw, 1.1em);
  font-weight: 500;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.2s ease;
  border: none;
  min-width: 220px;
}

.whatsapp-button:hover {
  background-color: var(--whatsapp-dark);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transform: translateY(-2px);
}

.whatsapp-button i {
  font-size: 1.4em;
}

/* Sections */
.section {
  padding: 60px 20px;
  text-align: center;
}

.section:nth-child(even) {
  background-color: var(--background-medium);
}

h2 {
  color: var(--h2-color);
  font-size: clamp(1.5em, 4vw, 2.2em);
  margin-bottom: 30px;
  line-height: 1.3;
}

h3 {
  color: var(--h2-color);
  font-size: clamp(1.2em, 3vw, 1.6em);
  margin-bottom: 15px;
}

/* Info Box */
.info-box {
  background: var(--background-medium);
  border-radius: 12px;
  padding: 40px;
  margin: 30px auto;
  max-width: 800px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.08);
}

.info-box p {
  font-size: clamp(1em, 2.5vw, 1.1em);
  line-height: 1.8;
  color: var(--p-color);
  margin-bottom: 15px;
}

.info-box strong {
  color: var(--primary-color);
  font-weight: 700;
}

/* Contact Info */
.contact-info {
  background: linear-gradient(135deg, #7c5e99 0%, #6dc7b5 100%);
  color: white;
  padding: 40px 30px;
  border-radius: 12px;
  margin: 30px auto;
  max-width: 700px;
}

.contact-info h3 {
  color: white;
  margin-bottom: 15px;
}

.contact-info p {
  font-size: clamp(1em, 2.5vw, 1.2em);
  margin: 10px 0;
}

.phone-number {
  font-size: clamp(1.4em, 4vw, 2em);
  font-weight: bold;
  margin: 25px 0;
  color: #ffd600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

/* Services List */
.services-list {
  text-align: left;
  max-width: 600px;
  margin: 30px auto;
  font-size: clamp(1em, 2.5vw, 1.1em);
  line-height: 2;
}

.services-list li {
  margin-bottom: 12px;
  padding-left: 10px;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 25px;
  margin: 40px auto;
  max-width: 1000px;
}

.service-card {
  background: white;
  padding: 30px 25px;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}

.service-card h3 {
  color: var(--primary-color);
  margin-bottom: 10px;
  font-size: clamp(1.1em, 2.5vw, 1.3em);
}

.service-card p {
  color: var(--p-color);
  font-size: clamp(0.95em, 2vw, 1.05em);
  line-height: 1.6;
}

/* Footer (migrado: reglas modernas al final del archivo) */

/* Responsive Design */
@media (max-width: 768px) {
  #hero {
    padding: 50px 15px;
    min-height: 380px;
  }
  
  .section {
    padding: 40px 15px;
  }
  
  .info-box {
    padding: 25px 20px;
  }
  
  .contact-info {
    padding: 30px 20px;
  }
  
  .services-list {
    font-size: 1em;
    line-height: 1.8;
  }
  
  .services-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .logo img {
    height: 50px;
  }
}

@media (max-width: 480px) {
  #hero {
    padding: 40px 10px;
    min-height: 350px;
  }
  
  .whatsapp-button {
    padding: 12px 20px;
    min-width: 200px;
    font-size: 1em;
  }
  
  .phone-number {
    font-size: 1.3em;
  }
  
  .info-box {
    padding: 20px 15px;
  }
  
  .contact-info {
    padding: 25px 15px;
  }
}

/* Accessibility */
.whatsapp-button:focus,
.footer-link:focus {
  outline: 3px solid #ffd600;
  outline-offset: 3px;
}

/* Print styles */
@media print {
  header, footer {
    display: none;
  }
  
  .whatsapp-button {
    display: none;
  }
  
  body {
    background: white;
  }
  
  .phone-number::after {
    content: " +598 94 809 020";
  }
}
:root{--background-light:#f5f3fa;--background-medium:#fff;--primary-color:#7c5e99;--accent-color:#6dc7b5;--accent-hover:#4e9a8c;--light-text-color:#fff;--dark-text-color:#3d2956;--border-color:#e0e0e0;--footer-bg:#7c5e99;--footer-text:#e6e0f3;--footer-text-secondary:#bdb6cc;--h2-color:#3d2956;--p-color:#4e3a5a}*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Roboto',sans-serif;line-height:1.6;color:var(--dark-text-color);background-color:var(--background-light);scroll-behavior:smooth;font-size:16px}.container{max-width:700px;margin:0 auto;padding:0 24px;overflow:hidden;display:flex;flex-direction:column;align-items:center}h1{display:none}h2{text-align:center;margin-bottom:30px;color:var(--h2-color);font-size:1.8em}p{color:var(--p-color);font-size:1em}.section{padding:40px 0;text-align:center !important}section { scroll-margin-top: 0 !important; } .section:nth-child(even){background-color:var(--background-medium)}.btn{display:inline-block;padding:12px 25px;border-radius:5px;text-decoration:none;font-weight:bold;transition:background-color .3s ease,transform .2s ease;text-align:center;font-size:1em}.btn-primary{background-color:#3d2956;color:#fff;border:0}.btn-primary:hover{background-color:#22132e;color:#fff}.header{background-color:var(--background-medium);padding:15px 0;border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:1000;box-shadow:0 2px 5px rgba(0,0,0,0.05)}header .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}.logo img{height:50px}.navbar{width:100%;order:2;margin-top:10px}.nav-links{list-style:none;display:none;flex-direction:column;width:100%;text-align:center;padding:10px 0;background-color:var(--background-medium);border-top:1px solid var(--border-color)}.nav-links.active{display:flex}.nav-links li{margin:10px 0}.nav-links a{text-decoration:none;color:var(--dark-text-color);font-weight:bold;font-size:1.1em;transition:color .3s ease;display:block;padding:8px 0}.nav-links a:hover{color:var(--accent-color)}.hamburger-menu{display:block;font-size:30px;background:0;border:0;cursor:pointer;color:var(--primary-color);padding:0;order:1}#hero{position:relative;z-index:1;color:var(--light-text-color);text-align:center;padding:80px 15px;display:flex;align-items:center;justify-content:center;min-height:400px;flex-direction:column;overflow:hidden}#hero::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,0.5);z-index:-1}#hero .container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}#hero .hero-content{margin-bottom:0;display:flex;flex-direction:column;align-items:center}#hero h2{color:var(--light-text-color);font-size:2.5em;margin-bottom:15px;text-shadow:2px 2px 4px rgba(0,0,0,0.4)}#hero p{color:rgba(255,255,255,0.9);font-size:1.1em;margin-bottom:30px;max-width:700px;line-height:1.4;text-shadow:1px 1px 3px rgba(0,0,0,0.3);text-align:center;margin-left:auto;margin-right:auto;display:block}#hero .btn-primary{background-color:#3d2956;color:#fff;border-radius:5px;box-shadow:none;font-size:1em;padding:12px 25px}#hero .btn-primary:hover{background-color:#22132e;color:#fff}.bienvenida-section{text-align:center;background-color:var(--background-medium);padding:50px 15px}.bienvenida-section h2{margin-bottom:20px;font-size:2em;color:var(--h2-color)}.bienvenida-section .intro-text{max-width:800px;margin:0 auto 25px auto;font-size:1.1em;line-height:1.8;color:var(--p-color)}.bienvenida-section .btn{display:block;margin:0 auto;max-width:250px}#sobre-mi .logo-section{text-align:center;margin-bottom:30px;padding-top:20px}#sobre-mi .logo-section img{max-width:200px;height:auto;display:block;margin:0 auto}#sobre-mi .content-sobre-mi{display:flex;flex-direction:column;align-items:center;gap:30px;align-items:center}#sobre-mi .profile-image{max-width:200px;height:auto;border-radius:50%;box-shadow:0 5px 15px rgba(0,0,0,0.1);border:5px solid var(--accent-color);object-fit:cover}#sobre-mi .certificate-image{max-width:300px;height:auto;border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,0.1)}#sobre-mi p{text-align:center;max-width:800px;margin:0 auto;color:var(--p-color);font-size:1em}.testimonials{display:grid;grid-template-columns:1fr;gap:30px}.testimonial-item{background-color:var(--background-medium);padding:30px;border-radius:8px;box-shadow:0 4px 10px rgba(0,0,0,0.08);text-align:center;display:flex;flex-direction:column;align-items:center;transition:transform .3s ease;align-items:center}.testimonial-item:hover{transform:translateY(-5px)}.testimonial-item img{width:90px;height:90px;border-radius:50%;object-fit:cover;margin-bottom:20px;border:3px solid var(--accent-color)}.testimonial-item p{font-style:italic;color:var(--p-color);font-size:1.05em}.service-cards{display:grid;grid-template-columns:1fr;gap:30px;justify-items:center}.service-card{background-color:var(--background-medium);border-radius:8px;box-shadow:0 4px 10px rgba(0,0,0,0.08);overflow:hidden;text-align:center;transition:transform .3s ease}.service-card:hover{transform:translateY(-5px)}.service-card img{width:100%;height:220px;object-fit:cover;display:block}.service-card h3{margin:20px 15px 10px;color:var(--h2-color);font-size:1.4em}.service-card p{margin:0 15px 20px;color:var(--p-color);font-size:1em}.contact-content{display:flex;flex-direction:column;align-items:center;gap:30px;align-items:center}.whatsapp-contact,.telegram-contact{text-align:center}.whatsapp-contact p,.telegram-contact p{margin-bottom:20px;color:var(--h2-color);font-size:1.2em;font-weight:bold}.whatsapp-button,.telegram-button{display:inline-flex;align-items:center;justify-content:center;color:var(--light-text-color);padding:14px 25px;border-radius:50px;text-decoration:none;font-size:1.1em;font-weight:bold;transition:background-color .3s ease,transform .2s ease;box-shadow:0 5px 15px rgba(0,0,0,0.25);max-width:100%;box-sizing:border-box;white-space:nowrap}.whatsapp-button{background-color:#25d366}.whatsapp-button:hover{background-color:#1eae4e;transform:translateY(-3px)}.telegram-button{background-color:#08c}.telegram-button:hover{background-color:#007bb5;transform:translateY(-3px)}.whatsapp-button img,.telegram-button img{margin-right:8px;width:22px;height:22px;filter:invert(0);flex-shrink:0}.footer{background-color:var(--footer-bg);color:var(--light-text-color);padding:40px 0;text-align:center}.footer p{color:var(--light-text-color);text-align:center}.footer .container{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.footer .social-links{margin-bottom:20px;display:flex;justify-content:center;gap:15px}.footer .social-links .social-icon{display:flex;justify-content:center;align-items:center;width:45px;height:45px;border-radius:50%;background-color:#fff;color:var(--primary-color);font-size:1.5em;transition:background-color .3s ease,transform .2s ease;text-decoration:none}.footer .social-links .social-icon:hover{transform:translateY(-3px)}.footer .social-links .social-icon.facebook{color:#1877f3}.footer .social-links .social-icon.instagram{background:linear-gradient(45deg,#f09433 0,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);color:#fff}.footer .social-links .social-icon.telegram{color:#229ed9}.footer .social-links .social-icon.whatsapp{color:#25d366}.footer .social-links .social-icon:hover{background-color:#f5f3fa;color:var(--accent-color)}.txtfull-widget-wrapper{width:100%;max-width:200px;margin:30px auto 0 auto;box-sizing:border-box;padding:0 10px;text-align:center;overflow-x:hidden}.txtfull-widget-wrapper table{width:100% !important;max-width:100% !important;box-sizing:border-box !important;border-collapse:collapse;margin:0 auto !important}.txtfull-widget-wrapper table img{max-width:100%;height:auto;display:block;margin:0 auto}.txtfull-widget-wrapper font{max-width:100%;display:block;box-sizing:border-box}.txtfull-widget-wrapper b{display:block;max-width:100%;word-wrap:break-word}@media(max-width:220px){.txtfull-widget-wrapper{padding:0 5px}}/* Carrusel de testimonios */.testimonials-carousel{display:flex;align-items:center;justify-content:center;gap:1rem;position:relative;max-width:600px;margin:0 auto}.carousel-track{display:flex;width:100%;overflow:hidden;justify-content:center}.testimonial-item{display:none;flex-direction:column;align-items:center;text-align:center;min-width:250px;max-width:350px;margin:0 1rem;transition:opacity .4s;align-items:center}.testimonial-item.active{display:flex}.carousel-btn{background:#eee;border:none;font-size:2rem;cursor:pointer;padding:.3em .7em;border-radius:50%;transition:background .2s}.carousel-btn:hover{background:#ccc}.testimonial-item img{width:80px;height:80px;border-radius:50%;object-fit:cover;margin-bottom:1em}.section-link {color: inherit;text-decoration: none;cursor: pointer;transition: color 0.2s;}.section-link:hover {color: var(--accent-color);text-decoration: underline;}.footer-link {color: var(--light-text-color);text-decoration: underline;transition: color 0.2s;}.footer-link:hover {color: var(--accent-color)}/* Ajuste de scroll para títulos de sección con header sticky */#titulo-hero,#titulo-bienvenida,#titulo-sobre-mi,#titulo-servicios,#titulo-pacientes,#titulo-contacto{scroll-margin-top:60px !important}@media (max-width:600px){#titulo-hero,#titulo-bienvenida,#titulo-sobre-mi,#titulo-servicios,#titulo-pacientes,#titulo-contacto{scroll-margin-top:50px !important}}@media (max-width: 900px){.container{max-width:98vw;padding:0 8px}.service-cards{grid-template-columns:1fr}.footer .social-links{flex-wrap:wrap;gap:10px}}@media (max-width: 600px){h2{font-size:1.3em}.hero-banner{padding:40px 5px;min-height:250px}#hero h2{font-size:1.3em}.service-card img{height:140px}.testimonial-item{padding:15px;max-width:95vw}.carousel-btn{font-size:1.3rem;padding:0.2em 0.5em}.footer{padding:20px 0}.footer .container{gap:5px}}@media (max-width: 400px){.hero-banner{padding:20px 2px}.service-card img{height:90px}.testimonial-item img{width:55px;height:55px}}.btn-ir-arriba{display:none;position:fixed;bottom:30px;right:30px;z-index:2000;background:linear-gradient(135deg,#7c5e99 60%,#6dc7b5 100%);color:#fff;border:none;border-radius:50%;width:52px;height:52px;box-shadow:0 4px 16px rgba(60,40,90,0.18);font-size:2em;cursor:pointer;transition:background 0.2s,transform 0.2s,box-shadow 0.2s;align-items:center;justify-content:center;display:flex}.btn-ir-arriba:hover{background:linear-gradient(135deg,#6dc7b5 60%,#7c5e99 100%);color:#fff;transform:translateY(-6px) scale(1.08);box-shadow:0 8px 24px rgba(60,40,90,0.25)}.btn-ir-arriba i{margin:0;font-size:1.3em;line-height:1}@media (max-width:600px){.btn-ir-arriba{bottom:16px;right:16px;width:44px;height:44px;font-size:1.3em}}.btn-ir-arriba:focus {  outline: 2px solid var(--accent-color);  outline-offset: 2px;  box-shadow: 0 0 0 4px rgba(109,199,181,0.25);}

/* Ajuste responsivo para imágenes de tarjetas de servicio en móvil */
@media (max-width: 600px) {
  .service-card img {
    width: 100%;
    height: auto;
    max-height: 220px;
    object-fit: cover;
    display: block;
  }
}
@media (max-width: 400px) {
  .service-card img {
    max-height: 140px;
  }
}

/* Forzar visibilidad y display de la imagen destacada en móvil */
@media (max-width: 700px) {
  .blog-featured-img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 98vw !important;
    width: 100% !important;
    height: auto !important;
    position: static !important;
    z-index: 10 !important;
  }
}

/* Contraste menú navegación accesible */
.hamburger-nav {
  background-color: #e3f2fd;
}
.hamburger-links .nav-link {
  color: #3d2956;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s, background 0.2s;
  font-size: 1.1em;
}
.hamburger-links .nav-link:focus,
.hamburger-links .nav-link:hover {
  color: #fff;
  background: #3d2956;
  outline: none;
  border-radius: 6px;
}
.hamburger-links .nav-link[style*="#d32f2f"] {
  color: #d32f2f !important;
  font-weight: bold;
}
.hamburger-links .nav-link[style*="#d32f2f"]:focus,
.hamburger-links .nav-link[style*="#d32f2f"]:hover {
  color: #fff !important;
  background: #d32f2f;
}
/* Estilo para los botones */
.btn {
  font-weight: bold; /* Títulos en negrita */
  border: none; /* Sin borde */
}

/* ================= Modern theme overrides (2025-11-21) ================= */
:root{
  --site-bg: #f8fafc;
  --surface: #ffffff;
  --muted: #6b7280;
  --text-primary: #0f172a;
  --primary: #0ea5a4; /* teal */
  --accent: #7c3aed;  /* violet */
  --glass: rgba(255,255,255,0.6);
}

/* Base adjustments */
body{background-color:var(--site-bg);color:var(--text-primary);font-family: 'Roboto', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial}
.container{max-width:1100px;padding:0 20px}

/* Ensure main h1 is visible and prominent (overrides prior rules) */
h1{display:block !important;font-weight:800;font-size:clamp(1.8rem,4.5vw,3rem);color:var(--text-primary);margin-bottom:.25rem}

/* Header modern */
header{background:transparent;border-bottom:1px solid rgba(15,23,42,0.04);backdrop-filter: blur(6px)}
.logo img{height:72px}

/* Hero modern look (mejor contraste) */
#hero{position:relative;background:linear-gradient(135deg, rgba(14,165,164,0.06), rgba(124,58,237,0.04)), url('../img/banner.webp') center/cover no-repeat;padding:100px 18px;min-height:420px;display:flex;align-items:center}

/* overlay para asegurar contraste del texto sobre la imagen */
#hero::before{
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.28), rgba(0,0,0,0.36));
  z-index: 0;
}

#hero .container{position:relative;z-index:1}
#hero h1{color:#ffffff;text-shadow:0 6px 20px rgba(0,0,0,0.35)}
#hero p{color:rgba(255,255,255,0.92);max-width:760px;margin:0 auto 24px;text-shadow:0 4px 12px rgba(0,0,0,0.25)}

/* Buttons unified */
.btn-primary, .whatsapp-button{background:linear-gradient(90deg,var(--primary),var(--accent));color:#fff;border:none;padding:12px 24px;border-radius:12px;box-shadow:0 8px 24px rgba(12,15,20,0.06);transition:transform .18s ease,box-shadow .18s ease}
.btn-primary:hover,.whatsapp-button:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(12,15,20,0.1)}

/* Cards */
.service-card{background:var(--surface);border-radius:14px;padding:28px;box-shadow:0 10px 30px rgba(15,23,42,0.06);transition:transform .22s ease,box-shadow .22s ease}
.service-card h3{color:var(--primary)}

/* Footer modern (mejor contraste) */
.footer{
  background: linear-gradient(90deg, var(--accent) 0%, var(--primary) 100%);
  padding:48px 20px;
}
.footer p{color: #FAF9F6}
.footer .footer-link{color: #FAF9F6; text-decoration:underline}
.footer .footer-link:hover{color: #ffffff; opacity:0.95}

/* Footer WhatsApp button style */
.footer-whatsapp-button{
  display:inline-flex;
  align-items:center;
  gap:10px;
  background:#F5F5F5; /* botón claro */
  color:var(--text-primary);
  border-radius:10px;
  padding:10px 14px;
  font-weight:700;
  border:none;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(12,15,20,0.08);
}
.footer-whatsapp-button i{color:#25D366;font-size:1.2em}
.footer-whatsapp-button:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(12,15,20,0.12)}
.footer p strong{color:#fff}

/* Carousel width */
.testimonials-carousel{max-width:920px;margin:0 auto}

/* Mobile tweaks */
@media (max-width:900px){
  #hero{padding:64px 18px;min-height:360px}
  .logo img{height:56px}
}
@media (max-width:600px){
  .container{padding:0 16px}
  .service-card{padding:20px}
  #hero{padding:48px 14px}
}

/* Keep scroll-to-top button hidden until JS toggles it */
.btn-ir-arriba{display:none;align-items:center;justify-content:center}

/* Small accessibility improvements */
.whatsapp-button, .btn-primary{outline-offset:4px}

/* End modern overrides */

/* ===== Separator component (modern) ===== */
.separator-animada {
  height: 40px;
  width: 100%;
  max-width: 900px;
  margin: 36px auto;
  background: linear-gradient(90deg, rgba(255,255,255,0.06) 0%, rgba(255,255,255,0.18) 50%, rgba(255,255,255,0.06) 100%);
  border-radius: 20px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 6px 22px rgba(15,23,42,0.06);
}

@keyframes separatorMove {
  0% { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}

.separator-animada::before{
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(255,255,255,0.02) 0%, rgba(124,58,237,0.06) 50%, rgba(255,255,255,0.02) 100%);
  background-size: 200% 100%;
  animation: separatorMove 4s linear infinite alternate;
  border-radius: 20px;
}

@media (max-width: 600px) {
  .separator-animada { height: 28px; margin: 24px auto; }
}

/* redes-sobre-mi (useful if adding social badges above footer) */
.redes-sobre-mi { display:flex; justify-content:center; gap:18px; margin: 18px 0; }
.red-social { display:inline-flex; align-items:center; gap:8px; font-size:1.05em; font-weight:700; color:var(--primary); background:#fff; border-radius:22px; padding:8px 16px; text-decoration:none }
