
Orgullo en el tatami donde el Club Alhama-Ippon brilla en el Trofeo Primavera de Karate.
Este domingo, bajo un cielo despejado y una organización impecable, la delegación granadina celebró una nueva edición del Trofeo Primavera de Karate, en la modalidad de katas. Más de 300 karatecas de toda la provincia se dieron cita en el pabellón del campus universitario de Cartuja, llenando el ambiente de energía, respeto y pasión por este arte marcial.

El club Alhama-Ippon participó con una destacada representación, cuyos competidores no solo alcanzaron varios puestos de honor, sino que demostraron una vez más que el verdadero valor está en atreverse, en subir al tatami y dejar el alma en cada movimiento. Porque solo por presentarse, por aceptar el juicio, por enfrentarse al miedo y a la duda, ya son campeones.
Adriana Miranda y Marta Jiménez brillaron con fuerza, dominando sus categorías y subiéndose al primer escalón del pódium con una ejecución impecable. Inés Jiménez logró un merecido segundo puesto, demostrando temple y elegancia. Y Laura Romero junto a Javier Miranda completaron la hazaña, consiguiendo sendos terceros puestos en sus respectivas categorías.
Mención especial merece Javi, quien debutó en la competición junto a sus hijas. Con valentía compartió con ellas la emoción, los nervios y la incertidumbre del tatami. Vivió en primera persona lo que tantas veces acompañó desde la grada. Y eso, sin duda, lo convierte también en un ejemplo para todos.
Un día para recordar, un paso más en el camino del karate, donde cada experiencia construye no solo al competidor, sino a la persona.








{source}<!-- 🎯 CONFIGURACIÓN CLARA Y MODIFICABLE -->
<script>const audioURL = "https://ia600306.us.archive.org/34/items/2025-05-26-campesino-inquiero-miguel-de-miguelico/2025-05-26-Campeonato-primavera-karate.mp3";
// 🟡 TÍTULO PERSONALIZADO (dejar "" para usar el nombre del archivo automáticamente) — tamaño fuente: 16px
const customTitle = "2025-05-26-Campeonato-primavera-karate";
// 🔴 MENSAJE DE TEXTO DEBAJO DEL REPRODUCTOR — tamaño fuente: 15px
const mensajeComentario = "Comenta esta noticia, envía un audio al 628 669 460";
// ⏳ FECHA DE CADUCIDAD (formato AAAA-MM-DD) — dejar "" para mostrar siempre
const fechaLimiteMensaje = "2025-05-23";
</script>
<!-- 🎧 REPRODUCTOR CON DISEÑO RESPONSIVE Y MENSAJE CONTROLADO -->
<div style="max-width:460px;margin:1em auto;border-radius:12px;font-family:sans-serif;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,0.2);"><div style="padding:1em;background:linear-gradient(135deg,#a00000,#d10000);color:white;">
<div style="font-weight:bold;font-size:20px;color:yellow;">Radio Alhama en Internet</div>
<div id="audio-title" style="font-size:16px;margin-bottom:0.5em;"></div>
<audio id="alhama-audio" preload="metadata">
<source id="audio-source" type="audio/mpeg">
</audio>
<div style="display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap;">
<button onclick="audio.play()" style="background:white;color:#a00000;border:none;border-radius:50%;width:28px;height:28px;font-size:1em;">▶</button>
<button onclick="audio.pause()" style="background:white;color:#a00000;border:none;border-radius:50%;width:28px;height:28px;font-size:1em;">❚❚</button>
<button onclick="audio.currentTime=0" style="background:white;color:#a00000;border:none;border-radius:50%;width:28px;height:28px;font-size:1em;">↻</button>
<span id="duration" style="font-size:14px;">0:00</span>
<input type="range" id="progress" value="0" step="1" min="0" style="flex:1;height:4px;accent-color:#c080ff;">
<span id="current" style="font-size:14px;">0:00</span>
</div>
</div>
<!-- 🔴 MENSAJE FINAL, SIN CORTES INNECESARIOS -->
<div id="comentario-audio" style="display:none;padding:0.6em 1em;background:white;color:red;font-size:15px;text-align:center;white-space:nowrap;overflow-x:auto;"></div>
</div>
<script>const audio = document.getElementById('alhama-audio');
const source = document.getElementById('audio-source');
const title = document.getElementById('audio-title');
const current = document.getElementById('current');
const duration = document.getElementById('duration');
const progress = document.getElementById('progress');
// Cargar audio
source.src = audioURL;
audio.load();
const fallbackTitle = decodeURIComponent(audioURL.split('/').pop().replace('.mp3','')).replace(/[-_]/g,' ').replace(/\b\w/g,c=>c.toUpperCase());
title.textContent = customTitle || fallbackTitle;
// Formato de tiempo
function formatTime(s){const m=Math.floor(s/60),sec=Math.floor(s%60);return `${m}:${sec.toString().padStart(2,'0')}`}
audio.addEventListener('loadedmetadata', ()=>{progress.max=Math.floor(audio.duration);duration.textContent=formatTime(audio.duration)});
setTimeout(()=>{if(audio.duration && duration.textContent==="0:00"){progress.max=Math.floor(audio.duration);duration.textContent=formatTime(audio.duration)}},1500);
audio.addEventListener('timeupdate', ()=>{progress.value=Math.floor(audio.currentTime);current.textContent=formatTime(audio.currentTime)});
progress.addEventListener('input', ()=>{audio.currentTime=progress.value});
// Mostrar mensaje si corresponde
const msgBox = document.getElementById("comentario-audio");
const hoy = new Date(), limite = fechaLimiteMensaje ? new Date(fechaLimiteMensaje + "T23:59:59") : null;
if (mensajeComentario && (!limite || hoy <= limite)) {
msgBox.textContent = mensajeComentario;
msgBox.style.display = "block";
}
</script>{/source}
