/* ══════════════════════════════════════════
   Complementos del CMS (fotos, redes, formularios, barra de edición)
   ══════════════════════════════════════════ */

/* Texto resaltado con *asteriscos* */
.hl { color: var(--naranja); }
.mv-card:first-child .hl, .guarantee-inner .hl { color: var(--gris-oscuro); }
.preview-text p a, .about-text p a, .member-bio a, .service-desc a { color: var(--naranja); }

/* Logo como imagen */
.nav-logo .brand-img, .footer-logo .brand-img, .nm-logo .brand-img { display: block; object-fit: contain; max-width: 220px; }
@media (max-width: 768px) { .nav-logo .brand-img { max-height: 34px; } }
.hero-logo-img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 0 22px rgba(var(--naranja-rgb),.45)); }
.splash-img { width: 110px; height: 110px; object-fit: contain; animation: spUp .6s .1s cubic-bezier(.16,1,.3,1) both; }
#hero.no-splash .hero-left { animation-delay: .15s; }
#hero.no-splash .hero-right { animation-delay: .3s; }
#hero.no-splash ~ * .scroll-hint, #hero.no-splash .scroll-hint { animation-delay: .8s; }

/* Fotos del equipo */
.team-photo.has-photo::after, .team-member-photo.has-photo::before { display: none; }
.team-photo img, .team-member-photo img {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center top; z-index: 1;
}
.member-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.member-link {
  width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center;
  border: 1.5px solid var(--linea); border-radius: 2px; color: var(--gris-medio);
  transition: border-color .2s, color .2s;
}
.member-link:hover { border-color: var(--naranja); color: var(--naranja); }
.member-link svg { width: 18px; height: 18px; }

/* Imagen en servicios */
.service-visual.has-image .service-visual-bg img { width: 100%; height: 100%; object-fit: cover; }
.service-visual-accent { z-index: 3; }
.service-desc { margin-bottom: 32px; }
.service-desc p { margin-bottom: 14px; }
.service-desc p:last-child { margin-bottom: 0; }

/* Nosotros: imagen opcional sobre la cita */
.about-side { display: flex; flex-direction: column; gap: 20px; }
.about-image { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 2px; display: block; }

/* Por qué elegirnos */
.porque-intro-text p { font-size: .975rem; line-height: 1.8; color: var(--gris-medio); font-weight: 300; }
.reason-main p + p { margin-top: 12px; }
.compare-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.guarantee-strip { margin: 0; }
@media (max-width: 768px) { .guarantee-strip { margin: 0 !important; } }

/* Contacto */
.contact-social-links { display: flex; flex-wrap: wrap; gap: 10px; }
.contact-grid.no-form { grid-template-columns: 1fr; max-width: 640px; }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-alert {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 16px 18px; border-radius: 2px; margin-bottom: 24px;
  font-size: .9rem; line-height: 1.5;
}
.form-alert svg { width: 20px; height: 20px; flex-shrink: 0; margin-top: 1px; }
.form-alert.ok  { background: #E8F5EE; color: #1F6B42; border-left: 3px solid #2C7A4B; }
.form-alert.err { background: #FDECEC; color: #9B2C2C; border-left: 3px solid #C53030; }
.form-submit:disabled { opacity: .7; cursor: wait; transform: none; }

/* Redes en el pie de página y menú móvil */
.footer-social { display: flex; gap: 10px; }
.footer-social a {
  width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid rgba(255,255,255,.12); border-radius: 50%;
  color: rgba(255,255,255,.55); transition: color .2s, border-color .2s, background .2s;
}
.footer-social a:hover { color: #fff; border-color: var(--naranja); background: var(--naranja); }
.footer-social svg { width: 15px; height: 15px; }
.nm-social { display: flex; gap: 8px; margin-top: 12px; }
.nm-social a {
  width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--linea); border-radius: 50%; color: var(--gris-medio);
}
.nm-social svg { width: 14px; height: 14px; }

/* Botón flotante de WhatsApp */
.wa-float {
  position: fixed; right: 22px; bottom: 22px; z-index: 140;
  width: 58px; height: 58px; border-radius: 50%;
  background: #25D366; color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 24px rgba(37,211,102,.35);
  transition: transform .2s, box-shadow .2s;
}
.wa-float:hover { transform: translateY(-3px) scale(1.04); box-shadow: 0 12px 30px rgba(37,211,102,.45); }
.wa-float svg { width: 30px; height: 30px; }
.wa-float-tip {
  position: absolute; right: 70px; top: 50%; transform: translateY(-50%);
  background: #fff; color: var(--gris-oscuro); white-space: nowrap;
  font-size: .8rem; font-weight: 600; padding: 8px 14px; border-radius: 3px;
  box-shadow: 0 4px 18px rgba(0,0,0,.12);
  opacity: 0; pointer-events: none; transition: opacity .2s;
}
.wa-float:hover .wa-float-tip { opacity: 1; }
@media (max-width: 768px) { .wa-float { right: 16px; bottom: 16px; width: 52px; height: 52px; } .wa-float-tip { display: none; } }

/* Barra de edición (solo visible para el administrador con sesión iniciada) */
.cms-adminbar {
  position: fixed; left: 16px; bottom: 16px; z-index: 9000;
  display: flex; background: #161B22; border-radius: 6px; overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.25); font-family: 'Barlow', sans-serif;
}
.cms-adminbar a {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 14px; color: #E6EDF3; text-decoration: none;
  font-size: .78rem; font-weight: 600; letter-spacing: .03em;
}
.cms-adminbar a:hover { background: rgba(255,255,255,.06); }
.cms-adminbar .cms-ab-edit { background: var(--naranja); color: #fff; }
.cms-adminbar .cms-ab-edit:hover { background: var(--naranja-oscuro); }
.cms-adminbar svg { width: 15px; height: 15px; }
.compare-scroll { margin-top: 48px; }
.compare-scroll .compare-table { margin-top: 0; }
