:root {
    --circle-overall-size: 400px;
    --center-image-size: 220px;
    --item-icon-size: 75px; 
    --rotation-speed: 25s; 
    --primary-color: #3498db; 
    --bg-image: url('https://10k.504.es/imagenes/10koriginal.jpg');
}

/* Ajustes para Móviles */
@media (max-width: 480px) {
    :root {
        --circle-overall-size: 280px;
        --center-image-size: 100px;
        --item-icon-size: 55px;
    }
}

body {
    font-family: 'Segoe UI', sans-serif;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background-image: linear-gradient(rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7)), var(--bg-image);
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.main-container {
    padding: 30px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    text-align: center;
    max-width: 90%;
    width: 100%;
}

.interactive-circle-wrapper {
    position: relative;
    width: var(--circle-overall-size);
    height: var(--circle-overall-size);
    border: 2px dashed #bbb;
    border-radius: 50%;
    margin: 30px auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.circle-items-container {
    position: absolute;
    width: 100%;
    height: 100%;
    animation: rotateCircle var(--rotation-speed) linear infinite;
}

/* Clase para pausa táctil controlada por JS */
.paused-rotation {
    animation-play-state: paused !important;
}

.circle-item {
    position: absolute;
    width: var(--item-icon-size);
    height: var(--item-icon-size);
    background: white;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    cursor: pointer;
}

.circle-item img {
    width: 70%;
    height: 70%;
    object-fit: contain;
    animation: rotateIcon var(--rotation-speed) linear infinite reverse;
}

#center-image {
    width: var(--center-image-size);
    height: var(--center-image-size);
    object-fit: contain;
    transition: opacity 0.3s ease;
}

/* Sección Comparte */
.share-section {
    margin-top: 30px;
    border-top: 1px solid rgba(0,0,0,0.1);
    padding-top: 20px;
}

.share-buttons {
    display: flex;
    justify-content: center;
    gap: 15px;
}

.share-btn {
    width: 45px;
    height: 45px;
    background: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    transition: transform 0.2s;
}

.share-btn:hover { transform: scale(1.1); }
.share-btn img { width: 25px; }

@keyframes rotateCircle { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes rotateIcon { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }