/* =========================================================
   VitaKids — estilos del sitio (tema hijo de Hello Elementor)
   Paleta: #7E68DB primario · #5848B8 oscuro · #0F172A tinta
           #F6F8FB fondo suave · #F0EDFB lila suave · #E7EBF3 borde
   ========================================================= */

body, button, input, select, textarea {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body { color: #0F172A; }
h1,h2,h3,h4,h5,h6 { font-family: 'Inter', system-ui, sans-serif; }
a { color: #5848B8; text-decoration: none; }
a:hover { color: #7E68DB; }

/* ---- Kicker (etiqueta superior de sección) ---- */
.vk-kicker .elementor-widget-container,
.vk-kicker p {
  display: inline-block;
  font: 600 11px/1.4 ui-monospace, Menlo, Consolas, monospace;
  color: #5848B8; background: #F0EDFB; border: 1px solid #DCD5F5;
  border-radius: 4px; padding: 3px 10px;
  letter-spacing: .4px; text-transform: uppercase; margin: 0;
}
.vk-kicker-dark .elementor-widget-container,
.vk-kicker-dark p {
  display: inline-block;
  font: 600 11px/1.4 ui-monospace, Menlo, Consolas, monospace;
  color: #C9BFF2; background: transparent; border: 1px solid #3D4A63;
  border-radius: 4px; padding: 3px 10px;
  letter-spacing: .4px; text-transform: uppercase; margin: 0;
}

/* ---- Chip / píldora ---- */
.vk-chip p {
  display: inline-block; margin: 0;
  background: #F0EDFB; color: #5848B8; font-weight: 600; font-size: 13px;
  border-radius: 999px; padding: 6px 14px;
}
.vk-chip-solid p {
  display: inline-block; margin: 0;
  background: #7E68DB; color: #fff; font-weight: 700; font-size: 13px;
  border-radius: 999px; padding: 6px 14px;
}

/* ---- Tarjetas (aplicar a la COLUMNA en Elementor) ---- */
.vk-card > .elementor-widget-wrap {
  background: #fff; border: 1px solid #E7EBF3; border-radius: 14px;
  padding: 28px 24px !important;
}
.vk-card-soft > .elementor-widget-wrap {
  background: #F6F8FB; border-radius: 14px;
  padding: 28px 24px !important;
}
.vk-card-lila > .elementor-widget-wrap {
  background: #F0EDFB; border: 1px solid #DCD5F5; border-radius: 14px;
  padding: 28px 26px !important;
}
.vk-card-dark > .elementor-widget-wrap {
  background: #0F172A; border-radius: 16px; padding: 26px !important;
}

/* ---- Cuadrado de icono ---- */
.vk-icon-sq { width: 46px; height: 46px; border-radius: 13px; background: #7E68DB;
  display: flex; align-items: center; justify-content: center; color:#fff; font-weight:800; font-size:19px; }
.vk-icon-sq svg { width: 22px; height: 22px; }
.vk-icon-red { width: 44px; height: 44px; border-radius: 12px; background: #FDF2F2;
  display: flex; align-items: center; justify-content: center; color: #B45050; font-weight: 800; font-size: 18px; }
.vk-num-circle { width: 40px; height: 40px; border-radius: 50%; background: #F0EDFB; color: #5848B8;
  display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 17px; }
.vk-num-circle-solid { width: 38px; height: 38px; border-radius: 50%; background: #7E68DB; color: #fff;
  display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 16px; }

/* ---- Marcos de imagen (widgets de Imagen editables) ---- */
.vk-browser-img .elementor-widget-container{background:#1E293B;border-radius:16px;padding:34px 12px 12px;box-shadow:0 24px 48px -20px rgba(15,23,42,.35);background-image:radial-gradient(circle 4.5px at 24px 17px,#475569 97%,transparent),radial-gradient(circle 4.5px at 42px 17px,#475569 97%,transparent),radial-gradient(circle 4.5px at 60px 17px,#475569 97%,transparent);background-repeat:no-repeat}
.vk-browser-img img{border-radius:6px;display:block;width:100%}
.vk-phone-img .elementor-widget-container{background:#1E293B;border-radius:26px;padding:8px;max-width:200px;margin:0 auto;box-shadow:0 20px 40px -18px rgba(15,23,42,.35)}
.vk-phone-img img{border-radius:19px;display:block;width:100%}

/* ---- Marcos de imagen ---- */
.vk-img-frame img { border-radius: 14px; border: 1px solid #E7EBF3;
  box-shadow: 0 16px 36px -18px rgba(15,23,42,.25); display: block; width: 100%; }
.vk-img-mat img { border-radius: 16px; border: 5px solid #fff;
  box-shadow: 0 0 0 1px #E7EBF3, 0 20px 44px -18px rgba(15,23,42,.35); display: block; width: 100%; }
.vk-browser { background: #1E293B; border-radius: 16px 16px 8px 8px; padding: 12px;
  box-shadow: 0 24px 48px -20px rgba(15,23,42,.35); }
.vk-browser .vk-dots { display: flex; gap: 6px; margin-bottom: 10px; }
.vk-browser .vk-dots span { width: 9px; height: 9px; border-radius: 50%; background: #475569; display: block; }
.vk-browser img { border-radius: 6px; display: block; width: 100%; }
.vk-phone { background: #1E293B; border-radius: 26px; padding: 8px; max-width: 200px; margin: 0 auto;
  box-shadow: 0 20px 40px -18px rgba(15,23,42,.35); }
.vk-phone img { border-radius: 19px; display: block; width: 100%; }

/* ---- Cita en morado ---- */
.vk-quote p { margin: 0; font-size: 15px; font-style: italic; color: #5848B8; line-height: 1.55; }

/* ---- Testimonio: pie con avatar ---- */
.vk-ava { display: flex; align-items: center; gap: 12px; }
.vk-ava .vk-ava-c { width: 42px; height: 42px; border-radius: 50%; background: #F0EDFB; color: #5848B8;
  display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 15px; flex: none; }
.vk-ava p { margin: 0; font-weight: 700; font-size: 14px; color: #0F172A; }
.vk-ava small { font-size: 13px; color: #64748B; font-weight: 400; }

/* ---- Botón WhatsApp grande (Contacto) ---- */
.vk-wa-box { display: inline-flex; align-items: center; gap: 14px; background: #fff;
  border: 1.5px solid #25D366; border-radius: 12px; padding: 16px 20px;
  font-weight: 700; font-size: 15px; color: #0F172A !important; line-height: 1.5; }
.vk-wa-box svg { flex: none; }
.vk-wa-box .vk-wa-tel { color: #25D366; white-space: nowrap; }
.vk-wa-box small { color: #64748B; font-weight: 600; font-size: 14px; display: block; }

/* ---- Formulario Contact Form 7 ---- */
.vk-form .wpcf7 label { display: block; font-size: 13.5px; font-weight: 600; color: #334155; margin-bottom: 6px; }
.vk-form .wpcf7 .vk-fg { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.vk-form .wpcf7 .vk-f1 { margin-bottom: 16px; }
.vk-form .wpcf7 input[type="text"],
.vk-form .wpcf7 input[type="email"],
.vk-form .wpcf7 input[type="tel"],
.vk-form .wpcf7 select,
.vk-form .wpcf7 textarea {
  width: 100%; border: 1px solid #CBD5E1; border-radius: 10px; padding: 11px 14px;
  font-size: 14.5px; color: #0F172A; background: #F6F8FB; box-sizing: border-box;
}
.vk-form .wpcf7 input:focus, .vk-form .wpcf7 select:focus, .vk-form .wpcf7 textarea:focus {
  outline: 2px solid #7E68DB; outline-offset: 0; border-color: #7E68DB; }
.vk-form .wpcf7 input[type="submit"] {
  width: 100%; background: #7E68DB; color: #fff; border: none; border-radius: 12px;
  padding: 14px 24px; font-weight: 700; font-size: 15.5px; cursor: pointer; transition: background .15s; }
.vk-form .wpcf7 input[type="submit"]:hover { background: #5848B8; }
.vk-form .wpcf7-not-valid-tip { font-size: 12.5px; color: #B45050; margin-top: 4px; }
.vk-form .wpcf7 form .wpcf7-response-output { margin: 14px 0 0; border-radius: 10px; padding: 12px 16px; font-size: 14px; }
.vk-form .wpcf7 form.sent .wpcf7-response-output { border-color: #34C98E; background: #F0FBF6; }
@media (max-width: 640px) { .vk-form .wpcf7 .vk-fg { grid-template-columns: 1fr; } }

/* ---- Tabla legal ---- */
.vk-legal-card > .elementor-widget-wrap { background: #fff; border: 1px solid #E7EBF3;
  border-radius: 14px; padding: 40px 44px !important; }
@media (max-width: 640px) { .vk-legal-card > .elementor-widget-wrap { padding: 28px 22px !important; } }

/* ---- Cabecera (plantilla HFE) ---- */
.vk-topbar p { margin: 0; color: #fff; font-size: 13px; font-weight: 600; text-align: center; }
.vk-topbar a { color: #fff; text-decoration: underline; font-weight: 700; margin-left: 14px; white-space: nowrap; }
.vk-topbar a:hover { color: #F0EDFB; }
.vk-header-nav .hfe-nav-menu .menu-item a.hfe-menu-item { font-size: 14.5px; font-weight: 500; color: #334155; }
.vk-header-nav .hfe-nav-menu .menu-item a.hfe-menu-item:hover,
.vk-header-nav .hfe-nav-menu .current-menu-item a.hfe-menu-item { color: #5848B8; }

/* ---- Pie: enlaces ---- */
.vk-footer-col p.vk-ft { margin: 0 0 4px; font-weight: 700; color: #fff; font-size: 13px;
  text-transform: uppercase; letter-spacing: .6px; }
.vk-footer-col a { display: block; color: #94A3B8; font-size: 14px; padding: 4px 0; }
.vk-footer-col a:hover { color: #fff; }

/* Ajustes finos Elementor */
.elementor-widget-icon-list .elementor-icon-list-text { color: #334155; }
.elementor-accordion .elementor-tab-title { font-weight: 700; }

/* =========================================================
   v1.1 — Capa responsive (auditoría móvil 26/07/2026)
   ========================================================= */

/* Barra superior (cabecera v3) */
.vk-tb{display:flex;justify-content:center;align-items:center;gap:16px;font:600 13px/1.4 'Inter',system-ui,sans-serif;color:#fff;white-space:nowrap}
.vk-tb a{color:#fff;text-decoration:underline;font-weight:700}
.vk-tb a:hover{color:#F0EDFB}
@media (max-width:480px){
  .vk-tb{gap:12px;font-size:12.5px}
  .vk-tb-q{display:none}
}

/* Cabecera principal */
.vk-header-nav .hfe-nav-menu__toggle{margin-left:auto}
@media (max-width:767px){
  .vk-header-cta{display:none!important}
  .vk-header-main .elementor-widget-image img{max-width:126px}
}
@media (max-width:1024px){
  .vk-header-nav ul.hfe-nav-menu{background:#fff;border:1px solid #E7EBF3;border-radius:0 0 12px 12px;box-shadow:0 18px 34px -16px rgba(15,23,42,.25);overflow:hidden}
  .vk-header-nav .hfe-nav-menu .menu-item a.hfe-menu-item{padding:13px 18px;font-size:15px;border-bottom:1px solid #F1F5F9}
  .vk-header-nav .hfe-nav-menu .menu-item:last-child a.hfe-menu-item{border-bottom:none}
}

/* Contenido en móvil */
@media (max-width:640px){
  .vk-card > .elementor-widget-wrap,
  .vk-card-soft > .elementor-widget-wrap{padding:22px 18px!important}
  .vk-card-lila > .elementor-widget-wrap{padding:22px 20px!important}
  .vk-card-dark > .elementor-widget-wrap{padding:22px!important}
  .elementor-widget-button .elementor-button{display:block;width:100%;text-align:center}
  .vk-wa-box{display:flex;width:100%;box-sizing:border-box}
  div[style*="padding:34px 38px"]{padding:24px 20px!important}
  .vk-phone-img .elementor-widget-container{max-width:180px}
}
